Today, most of (if not all) the reasons for choosing a language are subjective instead of objective (not objective-c). Languages are so similar (at least the fundamentals, not talking about Brainfuck-lang here) that you pick a language based on the platform it targets or just personal feelings.
In short, the Microsoft fanboys avoid more Linux-favored languages (and don't even think about Apple languages); Apple fanboys avoid more Microsoft-favored languages; and Linux fanboys avoid more patent-encumbered, closed-source languages and ones requiring to purchase an IDE/etc. for development. All fanboys avoid what they perceive as "diseased languages" like the plague. However, they will still touch these diseased language every now and then because either they have to for a job or out of pure curiosity.
Being a Linux fanboy, C# is my bubonic plague. This is also in part growing up using Microsoft Visual Studio 6 for C++. For the haters, I actually loved this IDE, but then I found out that none of my code would work on other platforms or even other compilers with Win32 such as Borland++, g++, etc. (we all remember how a variable in a for-loop wouldn't be contained to just that block... terrible). And then when exploring other languages/environments, I couldn't believe my eyes when I could actually see library-level source code -- you have no idea how useful this is. Even though I'll admit that Microsoft has gotten a little better about this (although they still tried to spread FUD using the DroidRage campaign), it's not worth it to me. They've already lost my faith in them as a customer, and I can't see myself ever returning.
Now, a good study would be to remove all of this and determine what languages are either faster to code in, easier to debug/maintain/extend with enterprise-level code, or more readable. But would this study even be useful? The differences would be so minute. Scripting languages are going to be faster to code in, so what's the fastest scripting language to code in? Object-oriented languages will be the easiest to debug/maintain/extend. As for readability, who knows? It's so subjective. We'd have to get a large, random sample size of people that have never seen a programming language before.
Having said all of this, I still appreciate this guy doing the study. Apache has always made top-quality code, and it's good to see that TomCat lives up to it.
Finally, as for sheer speed (and needs to be at least easier than assembly), C will always win.
So after following the rabbit hole, the article links here (see PDF) and here (same site, just "codes" for the issues) while exclaiming about 50 issues in Java! If you cut out the fluff, the only issue is the Reflection API. C# will and does have the same exact vulnerabilities. And after looking through it, it wouldn't take 2 years to apply these "fixes"; however, some "fixes" remove Java functionality, so it will never be "fixed" because why remove functionality. Any language can do bad things. We can only hope that the general public doesn't read this shill crap.
However, I admit that this is also a good thing to hopefully encourage Oracle to provider quicker updates/patches/etc.
I still don't see a mass migration to other languages happening. JAXB (and annotations in general) is one of the best things Java ever invented. I have yet to find a language with features that make XML reading/writing as easy as JAXB. Unicode, i18n, and l10n were well-done from the beginning. Even though people laugh at the notion of byte code and the cross-platformness of Java, I still have yet to see another language do this better. Java will die when either a better solution emerges or enough corporate shill kills it.
And I still don't understand why Linux is being bogged down with C# mono programs such as Banshee, TomBoy, etc. Don't get me wrong, these are great programs, but why not write them in a language that is more open? It would have been just as easy to do these in Java with GTK+.
I don't see how porting it to C++ is a solution. This must not be a very big program. For any average enterprise software, porting the product from Java to C++ is a huge undertaking (almost a year of work). I would just take the month of educating your customers, making sure that their machines are up-to-date, and that your software works in the newest version (you can specify a lower version in the JVM args if you need compatibility).
I think the only popular sites are games now. Minecraft is the first you'll hear on/. It uses Java and LWJGL (Light-Weight Java Game Library) -- which essentially just uses JNI to expose native calls to OpenGL/AL/CL using C code. I believe there is both a Java Applet version and offline version (which may use Java WebStart, don't know).
RuneScape and all of FunOrb (also made by Jagex -- the creators of Runescape) are also Java Applets.
Other than games, you'll see sites use Java Applets for simulations, etc. -- things that are either computationally intensive or too complex. Since Java is object-oriented, has tons of built-in data structures, garbage collection, and runs off the client's (pretty fast) JVM in which there is a JVM available for the popular OSes, it's a better alternative to JavaScript or Silverlight for these tasks.
FB already requires a $1 now to send someone outside of your circle a private message. Well, it will still be sent to them without the money, but it will go into their "other" box and not show a notification, but no one goes to their "spam" folders anymore, especially not on FB.
I personally prefer this approach with a blowjob. Time, pressure, and low amount of blood pumping to the brain. The ultimate test.
I typically don't hold a gun to the applicant's head though.
The only puzzle is what to do with women applicants...
Now I can do video chat with these MSNers going over to Skype. Yes, the Linux Skype client has been in beta for a million years, but it still works like a champ. I could never get video calls to work in pidgin, amsn, etc.
Now, I just have to hope they don't axe the Linux client... keep the protocol up-to-date on it...
Wiggins argues that there are two major gaps preventing programming tools from being accessible to beginners:
For the below, I'll assume Fedora and that your user is added to the "wheel" group.
1) they're too fussy, requiring extensive setup
sudo yum install ant eclipse emacs geany java python ruby vim
2) they're focused on the technology rather than everyday tasks. A good tool for learning programming, Wiggins argues, would emulate an Excel or Google Docs spreadsheet – beginners would be able to fire it up instantly, and would be able to get useful things done right away.
I'll avoid emacs/vim since new... geany Test.java &
Copy & paste example shit... javac Test.java java Test
Even easier... irb "this string needs to be capitalized".upcase exit
This is "useful" because they probably never figured out how to make Microsoft Word change their text to upper case.
These beginners are lazy; they don't need easier tools. Help the people that do want to learn. If I want to learn how to carve statues, I buy a book, get tools, and try it. End of story.
It would suck to lose that between your cushions or on a roller coaster ride! And how would you get change at the grocery store? This could at least help with funding the Death Star if that petition passes.
It's not Delphi (thank god), and VBScript should have died a long time ago, but it's still around. And if you know JavaScript, you're more than likely safe and knowledgeable enough to learn the next web browser language (which will probably be very similar to JavaScript). Every programmer knows that you learn a few different languages, and that they come and go. You just have to adapt. When I was younger, C++ was the shit. Then Java came along, and it was an easy adjustment/transition.
I also find the "is it pretty?" question a little subjective. If someone writes bad code, it's ugly in any language. For a scripting language, JavaScript is fine and gets the job done. You don't have to worry about one line of code breaking and bringing down your entire site. Scripting languages have always been quick and dirty; that's the point. These days I personally prefer Ruby though for my scripting needs (haven't made a site with it using RoR though yet; I write Ruby scripts for my quick&dirty computer needs instead of using Bash, etc.).
Her looks are riveting. Come on guys, this is what we always do when there's a woman in a video! Stop being scared of -1 Troll.
Today, most of (if not all) the reasons for choosing a language are subjective instead of objective (not objective-c). Languages are so similar (at least the fundamentals, not talking about Brainfuck-lang here) that you pick a language based on the platform it targets or just personal feelings.
In short, the Microsoft fanboys avoid more Linux-favored languages (and don't even think about Apple languages); Apple fanboys avoid more Microsoft-favored languages; and Linux fanboys avoid more patent-encumbered, closed-source languages and ones requiring to purchase an IDE/etc. for development. All fanboys avoid what they perceive as "diseased languages" like the plague. However, they will still touch these diseased language every now and then because either they have to for a job or out of pure curiosity.
Being a Linux fanboy, C# is my bubonic plague. This is also in part growing up using Microsoft Visual Studio 6 for C++. For the haters, I actually loved this IDE, but then I found out that none of my code would work on other platforms or even other compilers with Win32 such as Borland++, g++, etc. (we all remember how a variable in a for-loop wouldn't be contained to just that block... terrible). And then when exploring other languages/environments, I couldn't believe my eyes when I could actually see library-level source code -- you have no idea how useful this is. Even though I'll admit that Microsoft has gotten a little better about this (although they still tried to spread FUD using the DroidRage campaign), it's not worth it to me. They've already lost my faith in them as a customer, and I can't see myself ever returning.
Now, a good study would be to remove all of this and determine what languages are either faster to code in, easier to debug/maintain/extend with enterprise-level code, or more readable. But would this study even be useful? The differences would be so minute. Scripting languages are going to be faster to code in, so what's the fastest scripting language to code in? Object-oriented languages will be the easiest to debug/maintain/extend. As for readability, who knows? It's so subjective. We'd have to get a large, random sample size of people that have never seen a programming language before.
Having said all of this, I still appreciate this guy doing the study. Apache has always made top-quality code, and it's good to see that TomCat lives up to it.
Finally, as for sheer speed (and needs to be at least easier than assembly), C will always win.
"Dude, I'm getting Oph!"
Dude, that's going to suck when she eventually tries to buy beer! And her future boyfriend will be locked up in jail every other week as a pedo.
"I find your lack of faith disturbing."
-Your Supreme Lord Holiness, Darth Vader
Give them random values! Simply have a list of all of the letters, roll some die, write the numbers down next to the letters, and badabing badaboom.
So after following the rabbit hole, the article links here (see PDF) and here (same site, just "codes" for the issues) while exclaiming about 50 issues in Java! If you cut out the fluff, the only issue is the Reflection API. C# will and does have the same exact vulnerabilities. And after looking through it, it wouldn't take 2 years to apply these "fixes"; however, some "fixes" remove Java functionality, so it will never be "fixed" because why remove functionality. Any language can do bad things. We can only hope that the general public doesn't read this shill crap.
/endrant
However, I admit that this is also a good thing to hopefully encourage Oracle to provider quicker updates/patches/etc.
I still don't see a mass migration to other languages happening. JAXB (and annotations in general) is one of the best things Java ever invented. I have yet to find a language with features that make XML reading/writing as easy as JAXB. Unicode, i18n, and l10n were well-done from the beginning. Even though people laugh at the notion of byte code and the cross-platformness of Java, I still have yet to see another language do this better. Java will die when either a better solution emerges or enough corporate shill kills it.
And I still don't understand why Linux is being bogged down with C# mono programs such as Banshee, TomBoy, etc. Don't get me wrong, these are great programs, but why not write them in a language that is more open? It would have been just as easy to do these in Java with GTK+.
Queen of Makeb.
I think Double.NaN is your problem here... Not Java.
I don't see how porting it to C++ is a solution. This must not be a very big program. For any average enterprise software, porting the product from Java to C++ is a huge undertaking (almost a year of work). I would just take the month of educating your customers, making sure that their machines are up-to-date, and that your software works in the newest version (you can specify a lower version in the JVM args if you need compatibility).
I think the only popular sites are games now. Minecraft is the first you'll hear on /. It uses Java and LWJGL (Light-Weight Java Game Library) -- which essentially just uses JNI to expose native calls to OpenGL/AL/CL using C code. I believe there is both a Java Applet version and offline version (which may use Java WebStart, don't know).
RuneScape and all of FunOrb (also made by Jagex -- the creators of Runescape) are also Java Applets.
Other than games, you'll see sites use Java Applets for simulations, etc. -- things that are either computationally intensive or too complex. Since Java is object-oriented, has tons of built-in data structures, garbage collection, and runs off the client's (pretty fast) JVM in which there is a JVM available for the popular OSes, it's a better alternative to JavaScript or Silverlight for these tasks.
Next they'll be using this technology in condoms to warn me about STDs or possible men or even pregnancy! Like that's going to stop me.
FB already requires a $1 now to send someone outside of your circle a private message. Well, it will still be sent to them without the money, but it will go into their "other" box and not show a notification, but no one goes to their "spam" folders anymore, especially not on FB.
Is it really a mistake to forget the newline? Single quotes will also work like in the example.
I think they just did a straight copy&paste for all of the languages from here.
Personally, I don't like that it has C# and HTML. The middle-top one looks like ABAP? I don't know, never used it. Anyone know what language this is?
"I don't know what to tell you, there, Bobbo. Either this kid has a light bulb up his butt or his colon has a great idea."
Source
I personally prefer this approach with a blowjob. Time, pressure, and low amount of blood pumping to the brain. The ultimate test.
I typically don't hold a gun to the applicant's head though.
The only puzzle is what to do with women applicants...
Now I can do video chat with these MSNers going over to Skype. Yes, the Linux Skype client has been in beta for a million years, but it still works like a champ. I could never get video calls to work in pidgin, amsn, etc.
Now, I just have to hope they don't axe the Linux client... keep the protocol up-to-date on it...
In other news, anyone still using AIM?
Wiggins argues that there are two major gaps preventing programming tools from being accessible to beginners:
For the below, I'll assume Fedora and that your user is added to the "wheel" group.
1) they're too fussy, requiring extensive setup
sudo yum install ant eclipse emacs geany java python ruby vim
2) they're focused on the technology rather than everyday tasks. A good tool for learning programming, Wiggins argues, would emulate an Excel or Google Docs spreadsheet – beginners would be able to fire it up instantly, and would be able to get useful things done right away.
I'll avoid emacs/vim since new...
geany Test.java &
Copy & paste example shit...
javac Test.java
java Test
Even easier...
irb
"this string needs to be capitalized".upcase
exit
This is "useful" because they probably never figured out how to make Microsoft Word change their text to upper case.
These beginners are lazy; they don't need easier tools. Help the people that do want to learn. If I want to learn how to carve statues, I buy a book, get tools, and try it.
End of story.
You can hear the song "Here's to My Sweet Satan."
Despite all of the hate posts towards RMS, I really enjoyed it. RMS thanks for answering the questions! I look forward to this again.
Isn't this bad for the atmosphere to be shooting lasers at it (when it misses the target)?
It would suck to lose that between your cushions or on a roller coaster ride! And how would you get change at the grocery store? This could at least help with funding the Death Star if that petition passes.
It's not Delphi (thank god), and VBScript should have died a long time ago, but it's still around. And if you know JavaScript, you're more than likely safe and knowledgeable enough to learn the next web browser language (which will probably be very similar to JavaScript). Every programmer knows that you learn a few different languages, and that they come and go. You just have to adapt. When I was younger, C++ was the shit. Then Java came along, and it was an easy adjustment/transition.
I also find the "is it pretty?" question a little subjective. If someone writes bad code, it's ugly in any language. For a scripting language, JavaScript is fine and gets the job done. You don't have to worry about one line of code breaking and bringing down your entire site. Scripting languages have always been quick and dirty; that's the point. These days I personally prefer Ruby though for my scripting needs (haven't made a site with it using RoR though yet; I write Ruby scripts for my quick&dirty computer needs instead of using Bash, etc.).
right*