What language/tech covers all platforms?

Party Monger

Skilled
I would like to know your opinion about which language/tech to learn so i can develop for the Web, Pcs (win8 and win7), iOS, OSX and Android.
Windows 8 is supposed to support html5 if im not wrong. And from what i have heard even android does. So my question is-

Would i be able to develop for all the above mentioned platforms if i learn html5 and PHP ? The purpose is to create a decent app on all of them with out a lot of code rewriting.
The app would have forms, interacting with the cloud/database on server and displaying it in a good interface etc.


Would love some help on this.
 
C++ period.

Rest all virtualized platform centric langauge ain't that fun.

Other than that you can try Java (Virtualized language- run in a virtual space)

HTML5 is in nascent stage but hold untapped potential. Its mainly focused on web based apps not centric apps. So if you use HTML5 you will be needing some experience with helpful scripting/native laguages like javascript and platform specific APIs.

So keep it as an option for now on instead of relying on it.
 
C++ period.

Rest all virtualized platform centric langauge ain't that fun.

Other than that you can try Java (Virtualized language- run in a virtual space)

HTML5 is in nascent stage but hold untapped potential. Its mainly focused on web based apps not centric apps. So if you use HTML5 you will be needing some experience with helpful scripting/native laguages like javascript and platform specific APIs.

So keep it as an option for now on instead of relying on it.

Thanks DarkStar for your views. The thing is with html5 and web apps there's a lot of code already available, frameworks that do automize a lot of stuff. And since i WILL be developing for the web it would be nice if it would just run on others too, with adjustments like you said for api's etc. But then i dont know much about programming either.
 
While I agree with DS about C++ for native apps on "most" platforms, I wouldn't really recommend it if you want to be productive soon. Don't get me started about Java's portability. The mantra is simple "Write once, pray everywhere", same goes with dotnet (I make a living writing dotnet apps and services) when it comes to portability, mono (Touch/Droid included) is nowhere as perfect as xamarin would have us believe.

That finally leaves us to talk about HTML5. Long story short, it's a crippled platform and its in the biggies' best interests to keep it that way. If HTML5 apps were allowed to be first class citizens on a platform where would app revenues come from for elGoog Apple and MSFT? So on the face though everyone is trumpeting and acting as if championing the cause of html5 no one really does it. Think of key features like notifications, media control elements (webcam/mic etc), sensors and everything else which you'd need to write a decent app on a mobile platform.

I'd say stop thinking multi/cross plat and focus instead on JS to start with. If you ask me JS is the language of the future. Even today we arelooking to hire a JS wizard who knows no other language for a kings ransom and we find none. You'd do your career a wealth of good being a JS pro. Its not called the assembly language of the internet for nothing.
 
I am planning to develop a application for OSX and Windows platform.... I was thinking of going for Cocoa (Objective C) or Python for Mac
 
I am planning to develop a application for OSX and Windows platform.... I was thinking of going for Cocoa (Objective C) or Python for Mac

Both are solid platforms with great communities. Depends on what are you planning to build, and what you and your team are more comfortable with.
 
Well it's more for a feature which I am not sure I can unlock in cameras... So will have to experiment ... But if successful I would prefer something which would be easier to submit to app store ...
 
That finally leaves us to talk about HTML5. Long story short, it's a crippled platform and its in the biggies' best interests to keep it that way. If HTML5 apps were allowed to be first class citizens on a platform where would app revenues come from for elGoog Apple and MSFT? So on the face though everyone is trumpeting and acting as if championing the cause of html5 no one really does it. Think of key features like notifications, media control elements (webcam/mic etc), sensors and everything else which you'd need to write a decent app on a mobile platform.


HTML5 is just as platform independent as any other web standard before. it. i.e it comes broken out of the box as far a standard is concerned. It all sounds good theoretically on paper to say that you develop once and run on multiple platforms. But the ground realty is nowhere close. CSS, HTML and JavaScript don't work the same way or perform the same way in all browsers due to each browser developer doing an independent implementation of the standards and often throwing in some non standard stuff in there as well. HTML5 is a development channel that can be used across platforms, but one should not pick it with the intention that you can write once and run on every platform without issues. The time to ship would come out same whether you implement native apps or whether you go the Web route.

I'd say stop thinking multi/cross plat and focus instead on JS to start with. If you ask me JS is the language of the future. Even today we arelooking to hire a JS wizard who knows no other language for a kings ransom and we find none. You'd do your career a wealth of good being a JS pro. Its not called the assembly language of the internet for nothing.

JavaScript is dead easy to pickup and start coding. There isn't much learning curve. I haven't coded in JavaScript all my life, and yet I had absolutely no problem implementing JS framework that provides connectivity to our back end TCP Services with zero learning time and this framework is going to be the base for all our mobile HTML5 game clients. I took less than half the time the "pro" JS developers in the client team thought they needed for it and their QA was unable to find any defects either.

Strangely, the actual client development team which is comprised of the so called "pro" web developers who knew little beyond JS do not find it so easy to write defect free code or more importantly they have a hard time debugging issues in JS code quickly. I believe that my key advantage is that I come from a C++ programming background. Most of the time, a JS only "pro" is not even a programmer in the first place and lacks severely in the basic fundamentals of good programming and the general outlook of a programmer and works with only the knowledge of language syntax and the libraries.

Lastly, there is no such thing as the language of the future. If there is one language that has longevity, a language that was used in the past, used now and will be used in the future, that would be C/C++.

Even the famous JavaScript engines like Spider Monkey, V8, Nitro, that it runs on are all written in C/C++ and such things are going to be written in C++ for some foreseeable future. A JS Developer may not really bother about the underlying engine in the browser, but still, I believe that someone who has a strong programming background especially with a language like C++ would find it real easy to work with JS or any other language for that matter.

As far as Multi-platform development goes, I believe in native application development over something like HTML5.

BTW, my company is also not relying on purely HTML5/JS for mobile development, we have native app development also happening in parallel.
 
HTML5 is just as platform independent as any other web standard before. it. i.e it comes broken out of the box as far a standard is concerned. It all sounds good theoretically on paper to say that you develop once and run on multiple platforms. But the ground realty is nowhere close. CSS, HTML and JavaScript don't work the same way or perform the same way in all browsers due to each browser developer doing an independent implementation of the standards and often throwing in some non standard stuff in there as well. HTML5 is a development channel that can be used across platforms, but one should not pick it with the intention that you can write once and run on every platform without issues. The time to ship would come out same whether you implement native apps or whether you go the Web route.

Couldn't agree more!

JavaScript is dead easy to pickup and start coding. There isn't much learning curve. I haven't coded in JavaScript all my life, and yet I had absolutely no problem implementing JS framework that provides connectivity to our back end TCP Services with zero learning time and this framework is going to be the base for all our mobile HTML5 game clients. I took less than half the time the "pro" JS developers in the client team thought they needed for it and their QA was unable to find any defects either.

Strangely, the actual client development team which is comprised of the so called "pro" web developers who knew little beyond JS do not find it so easy to write defect free code or more importantly they have a hard time debugging issues in JS code quickly. I believe that my key advantage is that I come from a C++ programming background. Most of the time, a JS only "pro" is not even a programmer in the first place and lacks severely in the basic fundamentals of good programming and the general outlook of a programmer and works with only the knowledge of language syntax and the libraries.

You sir, are a rare talent. While benefits of having experience with a classic language are apparent, I'd rather not write of good JS developers. And about JS being dead easy to pick up I have my reservations. It's simplicity masks the capability and the caveats that come with oversimplification.

Lastly, there is no such thing as the language of the future. If there is one language that has longevity, a language that was used in the past, used now and will be used in the future, that would be C/C++.


Even the famous JavaScript engines like Spider Monkey, V8, Nitro, that it runs on are all written in C/C++ and such things are going to be written in C++ for some foreseeable future. A JS Developer may not really bother about the underlying engine in the browser, but still, I believe that someone who has a strong programming background especially with a language like C++ would find it real easy to work with JS or any other language for that matter.

What the OP asked was for web development and I see JS playing a similar role as to what C/C++ played in the pre-web days. I don't really see a harm in someone being a true blue JS developer considering the amount of opportunities in that space.

As far as Multi-platform development goes, I believe in native application development over something like HTML5.

BTW, my company is also not relying on purely HTML5/JS for mobile development, we have native app development also happening in parallel.
Well that's the stark reality, no one serious about their apps would hedge a bet purely on HTML5.

PS: Interesting discussion :)
 
While I agree with DS about C++ for native apps on "most" platforms, I wouldn't really recommend it if you want to be productive soon. Don't get me started about Java's portability. The mantra is simple "Write once, pray everywhere", same goes with dotnet (I make a living writing dotnet apps and services) when it comes to portability, mono (Touch/Droid included) is nowhere as perfect as xamarin would have us believe.

That finally leaves us to talk about HTML5. Long story short, it's a crippled platform and its in the biggies' best interests to keep it that way. If HTML5 apps were allowed to be first class citizens on a platform where would app revenues come from for elGoog Apple and MSFT? So on the face though everyone is trumpeting and acting as if championing the cause of html5 no one really does it. Think of key features like notifications, media control elements (webcam/mic etc), sensors and everything else which you'd need to write a decent app on a mobile platform.

I'd say stop thinking multi/cross plat and focus instead on JS to start with. If you ask me JS is the language of the future. Even today we arelooking to hire a JS wizard who knows no other language for a kings ransom and we find none. You'd do your career a wealth of good being a JS pro. Its not called the assembly language of the internet for nothing.

Ah but Java script would be used in conjunction with html5 php etc only right?

The point is I WILL be developing for the web. The point is to be able to re-use that with out much of a trouble. Think of it like a blog. Lots of database intensive operations, storing and retriving data etc.

Thank you for replying !

HTML5 is just as platform independent as any other web standard before. it. i.e it comes broken out of the box as far a standard is concerned. It all sounds good theoretically on paper to say that you develop once and run on multiple platforms. But the ground realty is nowhere close. CSS, HTML and JavaScript don't work the same way or perform the same way in all browsers due to each browser developer doing an independent implementation of the standards and often throwing in some non standard stuff in there as well. HTML5 is a development channel that can be used across platforms, but one should not pick it with the intention that you can write once and run on every platform without issues. The time to ship would come out same whether you implement native apps or whether you go the Web route.


JavaScript is dead easy to pickup and start coding. There isn't much learning curve. I haven't coded in JavaScript all my life, and yet I had absolutely no problem implementing JS framework that provides connectivity to our back end TCP Services with zero learning time and this framework is going to be the base for all our mobile HTML5 game clients. I took less than half the time the "pro" JS developers in the client team thought they needed for it and their QA was unable to find any defects either.

Strangely, the actual client development team which is comprised of the so called "pro" web developers who knew little beyond JS do not find it so easy to write defect free code or more importantly they have a hard time debugging issues in JS code quickly. I believe that my key advantage is that I come from a C++ programming background. Most of the time, a JS only "pro" is not even a programmer in the first place and lacks severely in the basic fundamentals of good programming and the general outlook of a programmer and works with only the knowledge of language syntax and the libraries.

Lastly, there is no such thing as the language of the future. If there is one language that has longevity, a language that was used in the past, used now and will be used in the future, that would be C/C++.

Even the famous JavaScript engines like Spider Monkey, V8, Nitro, that it runs on are all written in C/C++ and such things are going to be written in C++ for some foreseeable future. A JS Developer may not really bother about the underlying engine in the browser, but still, I believe that someone who has a strong programming background especially with a language like C++ would find it real easy to work with JS or any other language for that matter.

As far as Multi-platform development goes, I believe in native application development over something like HTML5.

BTW, my company is also not relying on purely HTML5/JS for mobile development, we have native app development also happening in parallel.

Yes the frameworks, the buzz and ready made code available for a lot of things already is what really attracts me.

But what are the capablities of JS? I am kind of a noob, and only know what i've been reading at places :ashamed:

Again thanks for replying.

Couldn't agree more!



You sir, are a rare talent. While benefits of having experience with a classic language are apparent, I'd rather not write of good JS developers. And about JS being dead easy to pick up I have my reservations. It's simplicity masks the capability and the caveats that come with oversimplification.



What the OP asked was for web development and I see JS playing a similar role as to what C/C++ played in the pre-web days. I don't really see a harm in someone being a true blue JS developer considering the amount of opportunities in that space.


Well that's the stark reality, no one serious about their apps would hedge a bet purely on HTML5.

PS: Interesting discussion :)

Thanks again, I hope i can get an answer before the discussion ends :p

---


How would you guys rate PhoneGap?
 
I cant agree that c++ is platform independent. though you can write c++ applications for every platform on earth but what I mean to say is that you cannot have a single code base and expect it to work everywhere. in fact you will have to recompile the code for every different hardware platform. i.e., x86 x64 arm and so on... to make it work on all the platforms. maintaining such codebase becomes a nightmare if the multiplatform thing is not planned right from the design stage.

If I want to write something that needs to be run on different platforms I would choose a scripting language. like perl or python. As far as html5 is concerned, though its a standard its implementations would be different from browser to browser. i.e., html5's implementations would be different in IE(WIN8 and other windows) from the html5's implementation of say firefox or chrome. for example., ie10 is supposed to use d2d and d3d for rendering all of its webpages aka html5 controls which will give you better performance on windows machines using IE. at the same time, firefox and chrome being opensource browsers tend to use the opensource 3d libraries (webkit?) to maintain their platform independence. so definitely they cant be better when compared to IE on windows.

so if you want to be truly platform independent, use html5 for your applications, you need to test it a lot on many platforms to be sure that it works.

on the other hand if your application is performance intensive, there is no other better choice than getting dirty with c++.
 
Back
Top