Native Windows Application Development Options - windows

Long winded title, short question:
If one wants to develop for Windows but not have to rely on any external dependency (no runtime, thus ruling out .net), what supported, alive and fully functioning* alternatives are there?
Visual Basic 6 is dead, Visual C++ is obvious and Delphi seems to be the prime choice for that, but I wonder if there are any other alternatives?
*as in: Being able to use all the Windows Features like putting an icon in the Notification Area, making the Taskbar Icon flash etc.

Have a look at this -
http://www.codegear.com/products/delphi
Glynn

C (lots of compilers available)

D using D compiler

eiffel using SmartEiffel*
(*note SmartEiffel interprets eiffel, and generates ANSI C code, which can be compiled with any standard C compiler. It also generates Java byte code.)

Ada compiled with gnat

C/C++ with Borland, if you don't want to be entirely beholden to MS.

Mercury using the Mercury compiler (compiles to ANSI C, which can then be compiled to native code)

Modula 2 using modula2 compiler

Pascal with FreePascal compiler

Vala (compiles to ANSI C)

Haskell using GHC. Compiles via C or direct to native code requiring no special libraries.

Have a look at this page:
http://dada.perl.it/shootout/
It's a port of the computer language shootout to compile on the Win32 platform. In the chart of languages used, he lists which ones compile to native code (the compiler is listed in bold italics). I did notice that he listed C# and Java as compiling to native code, but that of course is incorrect, so make sure you investigate.
I will list each language separately to allow for individual voting.

Awk using awka*
(*note: awka interprets awk, and generates ANSI C, which can be compiled to native code with any C compiler).

PowerBasic

Forth using BigForth compiler

Haskell using ghc

Modula 3 using Critical Mass *
(*note: compiles to ANSI C, which can compile to native code using any standard C compiler)

OCaml compiled with OCaml compiler

Prolog using Visual Prolog

Ubercode using UberCode compiler

Goo using Goo compiler (generates ANSI C)

REALbasic which gives you the extra benefit of being able to compile for Mac and Linux as well.

I think you should give Qt a try. At least, download the file and run the samples, because it ships with a working example of the Notification area feature as you want.
http://qt-project.org/

MASM32 ( http://masm32.com/ ) if you can live with the licensing agreement.

Related

Can you compile an OCaml project natively as a windows library?

I am new to OCaml (but I have used SML in the past) and I want to know two things:
1- Can OCaml programs be compiled as libraries at all?
2- If so, can they be compiled as native Windows dlls.
What I want to do is create an compiler library in OCaml using LLVM and use it from another Windows program.
PS: I know I can use LLVM from C++ and C, but I prefer OCaml since I am doing it for fun.
Yes, see ocamlopt -output-obj option and chapter 18.7.5 Embedding the Caml code in the C code of the manual.

Delphi cross compiler for linux

I was wondering if there is any Borland cross compiler that can make my windows code work on linux without wine.I'm using winxp with delphi 7. I was always wondering if it was possible to code same tool I coded in windows , again in Linux and how is it possible to code same tool by using pascal code in linux.Thanks
The best solution is Lazarus, the delphi-like GUI for Free Pascal. If you were using "pure" vcl, without Windows internales or any special add-ons the migration will be a pice of cake :)
Take a look here: http://lazarus.freepascal.org
BTW - Lazarus and FPC are true mulitplatform - you can compile code for Linux, Windows, MacOS and more with the same codebase :)
Your only option, if you want a Borland Delphi cross-compiler, is CrossKylix. This isn't a real cross-compiler. Instead you run the Kylix compiler for Linux under an emulated Linux environment.
Note that you'll be forced to use CLX rather than VCL and that Kylix is well and truly dead nowadays. Personally I think Wine is probably an easier and better option.
First of all, it all depends on what system functions you used in your programm. In most cases, there will be no possibility to cross-compile it under linux.
But, in some cases Borland Kylix can help, but, afaik, it's almost dead now.
Delphi 10.2 Tokyo supports Linux 64-bit Native Code Compilations.
To get some preview screenshots, click this post:
https://helloacm.com/delphi-compiles-code-to-linux-64-bit-server/

Configuring GCC with FreeRTOS and OpenOCD

I'm pretty sure this is possible but I'm not sure how to go about it. I'm very new to building with GCC in general and I have never used FreeRTOS, but I'd like to try getting the OS up and running on a TI ARM Cortex MCU but with a slight twist: I'd like to get it up and running with Pascal. I'm curious:
Is this even possible to get work? If not, the next issues are kind of moot points.
From my Delphi days, I vaguely recall the ability to access functions in C libraries. I'm wondering if I would have access to the C routines in FreeRTOS.
If I use the GCC version (preferable) would I be able to debug using OpenOCD on the target? I'm not quite sure how debug symbols work and if it's more or less language agnostic (hopefully, in this case).
As kind of a bonus question a bit outside the scope of the original query, can I simulate FreeRTOS on an x86 processor (e.g. my development PC) for easier debugging during development? (With a Pascal program, of course..)
I haven't found any documentation on achieving this, so hopefully someone here can shed some light! Any resources would be most helpful. Like I said, I'm very new to this kind of development. I'm also open to suggestions if you think there is a better alternative.
FYI, my preferred host configuration would be something similar to:
Linux (Ubuntu/Debian)
Eclipse IDE for development, unit testing, and hopefully simulation / debugging
OpenOCD for target debugging
GNU Pascal + FreeRTOS on target
FreeRTOS is C source code, so like you say you would have to have some mechanism for linking C with your Pascal programs. Also, FreeRTOS relies on certain registers to be used for things like passing a parameter into a task (as a hypothetical example, the task might always expect the parameter to be in register R0) so you would have to ensure the ABI for the C compiler and the Pascal compiler was the same - or have your task entry in C then have it call a Pascal function (very nasty). Then there is the issue of interrupts, calling inline macros, etc. I would say this would be extremely difficult to achieve.
Both GNU Pascal and Free Pascal support linking to C (gcc) and ARM, as well as calling pascal code from C etc. Writing a header and declaring the prototypes with cdecl is all there is to it.
Macros are a bit bigger problem. Usually I just rewrite them to inline functions (what they should have been anyway). Except for the macro/header issue, the problems are more compiler specific functionality (which you also would have a problem with when porting from one C compiler to the next)
If you prefer TP/Delphi dialect, Free Pascal is the better choice.
I run my old Delphi code fine on my sheevaplug.
There is already an example for FreeRTOS/GCC/OpenOCD on a TI Cortex-M3 (was Luminary Micro Cortex-M3). Be aware though that this is a really old example and both the Eclipse and OpenOCD versions used are out of date.
Although there is an Eclipse project provided, the project is configured as a standard make (as opposed to a managed make) project, so there is a standard makefile that can be just as easily executed from the command line as from within Eclipse.
http://www.freertos.org/portLM3Sxxxx_Eclipse.html

Need a secure Cross platform gui language

It may sound like a lot, but I am looking for a language that is cross platform that I can compile into a single stand alone exe. The source code needs to be secure (Not just hidden) and have some sort of gui toolkit. Do any exist?
In C++, I know 2 cross-platform UI toolkits: Qt and WxWidgets.
You won't find a language with more GUI toolkits or that is more cross-platform than the C programming language.
In python here is the list cross platform gui
For Java you can use Swings and AWT
Well, your source secure is a problem - how do you define secure and why do you think you need it like this?
Cross plattform with only one compilation - hits only on .NET/mono and Java, both not interpreted, but work with a intermediate compilation of some sort of VM. Code can be relatively easy decompiled, though it can be obfuscated.
Cross plattform with compilation for every plattform is far easier, with C, C++ and many many more your have a great choice. You could then watch out for your GUI-Toolkit of choice and check the languages that have bindings for it.
I use REAL Studio (formally REALbasic) for creating standalone cross-platform applications. The apps are also compiled and fully native, so it sounds like they would meet your definition of secure.
And REAL Studio is a lot easier to start with Qt (unless you already happen to be a C++ expert).

What are the runtime debuggers available in AIX? for the C language?

What are the runtime debuggers available in AIX? for the C language?
I know we have
dbx - Crap
gdb - Good but doesnt work.
Any other?
For xlC there is dbx and the GUI frontend xdbx.
Totalview. Best debugger for AIX by a country mile. Interface is old hat motif but functionally very good. Great at threads by the way.
IBM Debugger - /usr/idebug/idebug
GNU Debugger should also work - /opt/freeware/bin/gdb
Are you asking about AIX's native C compiler? If so consult your IBM saleman. You can of course run GCC on AIX, and use the gdb debugger. This has a number of front-ends for it, the best of which is probably DDD.

Resources