The End of Native Code?
psycln asks: "An average PC nowadays holds enough power to run complex software programmed in an interpreted language which is handled by runtime virtual machines, or just-in-time compiled. Particular to Windows programmers, the announcement of MS-Windows Vista's system requirements means that future Windows boxes will laugh at the memory/processor requirements of current interpreted/JIT compiled languages (e.g. .NET, Java , Python, and others). Regardless of the negligible performance hit compared to native code, major software houses, as well as a lot of open-source developers, prefer native code for major projects even though interpreted languages are easier to port cross-platform, often have a shorter development time, and are just as powerful as languages that generate native code. What does the Slashdot community think of the current state of interpreted/JIT compiled languages? Is it time to jump in the boat of interpreted/JIT compiled languages? Do programmers feel that they are losing - an arguably needed low-level - control when they do interpreted languages? What would we be losing besides more gray hair?"
The simple truth - JIT suz. Its failed to deliver on its promises, over and over and over. Its one of those "real soon now" "any time" "we're almost there" "manana" things ... tomorrow never comes. There will always be a place for assembler, and c. Managed languages have their place as well, but not when performance counts ... and not when your goal is simplicity and provability of code to guarantee its execution in a timely manner. The need for runtimes doing all sorts of verification and "yes, we've executed this exact code with this exact context before, so we can run the native code we've compiled and stashed away in the VM cache from the last iteration ... oops, its no longer in the VM cache ... damn) make that impossible.
Can most hobbyists afford its 400 USD price tag?
That is a sad, pathetic "argument". Just an excuse to spew American-bashing. There are no other people that do not have a more appropriate term for them than "American". In fact, that term is basically meaningless in any other context. There is no reason to refer to the people of North, Central and South America as "Americans". If for some reason, you absolutely most collectively refer to all of them there are much better ways to describe them. Language exists to express concepts. This concept is adequately and succintly expressed with the word "American". If you can't handle that, and feel the need to make up feel-good terms for your own ego stroking, well, that's your own cross to bear. Hopefully for the rest of us, you'll grow up someday.
Just to stay OFF topic for a while, now the
subject comes up:
Would the term "USAnians" be so terribly hard
to pronounce?
USians, in addition to being unpronounceable,
suffers from the lack of accounting for other
cases of "united states" around the world and
history. So it has always puzzled me why USAnians
seem to prefer to cut off one third of the name
(or rather: abbreviation) of the union: US(A).
Actually, the only place I regularly see it
spelled out in its entirety is in the name of
the crappy newspaper "USA Today".
And don't even get me started on the subject
of USAnians monopolizing the term "Americans" to
mean "the Americans living i a minor part of the
Americas, situated between Canada and Mexico".
USAnians are what you are - USians? baah!
Americans - yes, but so are the Canadians,
Brazileans, Nicaraguans, Chileans, and
many more. Americans is a more general term
(as "Europeans", "Africans", etc.)
--
There are many dialects and accents of english spoken in britain and
in just england itself so you can't say there is such a thing as
"british english". However , given the language is called "english" I think
its fair to say that whatever dialects and accents are spoken in england
can safely be called "english" and any spoken in other countries called
english.
There are definitely regional variations in the UK but the language itself is pretty consistent. Although they may say it to their mates, a geordie is unlikely to write a job application containing phrases like am gannin yem to my bairn? Minor regional varations but still everyone speaks and writes the same language - at least when they're being formal.
American English is quite different due to the spelling and that's why there needs to be a way to separate them. I'd be pretty pissed if I bought a spell checker described as English and then found out it was American English.
-- Using the preview button since 2005
low-level languages like C fail on all those points compared to a higher-level language.
yes, that's why a high-level NATIVE language was invented to overcome that. It's called C++ and it's been around for quite a while. Welcome. New here?
And what if there's nothing behind the door until it is being opened?
"It sucks balls". Seriously, the only people who think Java is a usable language are Java programmers and the managers stupid enough to listen to them. People complain constantly about the performance of Windows, but are more than happy to drag their machine down by running a Java app. Java is best left doing what it's best at: putting stupid ripples under images on a webpage.
Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
http://www.workorspoon.com
Well, to me, interpreted languages are like frozen dinners. They will do if you come home late at night and are too hurried and hungry to cook a proper meal. But C is like a fully equipped kitchen. It takes *much* more skill to cook a proper meal than to heat a frozen dinner in a microwave oven, but the results are incomparably better, not to mention the pleasure you get from doing it the right way.
Awesome analogy, just awesome! I couldn't have said it any better my self! They both have their place, but I agree that native code is preferable in most cases. Interpreted codes place is in simple apps and things that need to get thrown together real quick and cheap like. But if you put the time and effort into native code it will always "taste better".
Interpreted code will ALWAYS be SLOWER because it's being interpreted by NATIVE CODE! It's a middle man! Why do these other developers have trouble understanding that? If you go around the middle man and write your own native code (assuming you know what you are doing) it will be faster. Period. End of story. I don't know why people are trying to make it sound like we can write everyting in interpreted code just because we have tons of CPU cycles to "waste" now. That seems stupid to me. The point of making faster CPUs was to get MORE WORK DONE! It was NOT meant to dumb down the programming process!
Some times I fear we have made programming too easy, the industry is starting to fill up with n00bs who have no clue... When I hear statements like "it lets you do bad things" about C++, well... yeah, if your a freak'n moron it does! That's a bad thing? Morons do stupid things, why should we write programming languages that allow morons to be programmers??? Sigh...