Best cross platform programming language for Linux, Android and Windows



I have recently decided that I would like to get into programming again as a hobby / project.

I have some good previous experience with Visual Basic / VB.Net

However it has been years since I've really gotten into a programming project, I am looking to create a cross platform program I can link into my Windows PCs, Raspberry Pi's and Phone (Android).

What would you recommend to get dug into, I don't mind too much about the difficulty of the language its more having the ability to easily create GUI interfaces for the code such as VB / VB.Net has.

Any suggestions would be greatly appreciated!!

Thanks in advance.


Java, you don't really have any alternatives with Android in the mix.


Thank you for the suggestion


Haha @ionatan ... He is playing around.. Cross Platform primary are considered to be Low Level Languages... And these are the most low level langauges in top 3:


Ill reccomend you do C or C++ First then after you finish them go to Assembly.. Assembly is as low of a language as you can get.. Verry Intense langauge, Just look at the code for Hello World in Assembly x86:

; ----------------------------------------------------------------------------------------
; Writes "Hola, mundo" to the console using a C library. Runs on Linux or any other system
; that does not use underscores for symbols in its C library. To assemble and run:
;     nasm -felf64 hola.asm && gcc hola.o && ./a.out
; ----------------------------------------------------------------------------------------

        global  main
        extern  puts

        section .text
main:                                   ; This is called by the C library startup code
        mov     rdi, message            ; First integer (or pointer) argument in rdi
        call    puts                    ; puts(message)
        ret                             ; Return from main back into C library wrapper
        db      "Hola, mundo", 0        ; Note strings must be terminated with 0 in C

Its preety intense langauge but worth it :wink: .You might be asking What are low level langauges?

What are low level langauges?

Low level langauge essentially means, it has been created a long time ago... so it much harder, and you have much more control, over what you are programming... #learn-java is a good langauge to get you started for C/C++, but i essentially seem to think C/C++/Assembly is ruling the world these days :stuck_out_tongue: !

Guess what @ionatan and @gigapro11243 you can actually code android apps using C or C++ or Assembly if you wish. There is actually a Visual Studio Template for that!


Java has far more support and resources to use than C++ when it comes to writing Android apps, not to mention requiring far less expertise to get anything done.

Asm makes sense to write in almost exclusively when dealing directly with the hardware and it targets specific processor architectures, it is not cross-platform. An optimizing compiler will do a better job of generating Asm than a programmer if the code is more than just a couple lines.

Asm is not the lowest level language that runs on your computer, and C/C++ are rather high-level compared to many languages.

Please be careful in how you advise others.


Yes BUT You have to learn Android Studio Development, plus XML to make Android Apps... Why learn all that? Why not even just learn Cordova instead of C++. Cordova is Cross Platform.. And also C/C++, you get more control over your application, as Android Studio Development it self was made from the C Langauge.

Wow i actually have to believe you on that one. Source . Sorry for my false statements there lol...

Ahaha Please @ionatan . The Lowest langauges are Assembly and MicroCode.. Both same level .

C/C++ Are not high level langauges... Are you kidding me?

Your telling me to be carefull when you are saying C/C++ Is not a low level lanuage, Asm is not as low as it gets... Lol!