![]() |
![]() |
#1 (permalink) |
Tilted
Location: Your Imagination
|
Future of Programming
Which language does everyone thing will lead the way in the future as far as programming is concerned. I believe that JAVA will as it is growing in popularity in classes in Colleges and is being used whenever possible by companies.
|
![]() |
![]() |
#2 (permalink) |
Banned
Location: 'bout 2 feet from my iMac
|
depends if java 2 is any good. if it's not, I bet we'll be seeing either a resurgence in the C-based stuff or some up-and-comer, like python stepping in. scripting languages are growing in popularity, which is all to the good. different tools for different jobs, as it should be.
|
![]() |
![]() |
#3 (permalink) |
WARNING: FLAMMABLE
Location: Ask Acetylene
|
Java java java.
Performance criticisms are getting pretty weak as processor speeds increase and Just in time compiling gets better. I think that compile once run anywhere and RAD aspects of java will win out. Programmer time is currently more expensive then CPU time in virtually every application and I think it is going to stay that way. The java platform in general just plain rocks... I can't think of anything I don't really like about it. Well... except for lack of multiple inheritance. When all you care about is just building the damn application...
__________________
"It better be funny" ![]() |
![]() |
![]() |
#5 (permalink) |
Banned
Location: 'bout 2 feet from my iMac
|
there are DEFINATE problems with java, and not just the lack of multiple inheretence (that's an issue?!?!). It has a tendancy to force you to bend over backwards to do something that should be simple, for one... but oh, the networking... *heart*
|
![]() |
![]() |
#7 (permalink) |
Insane
Location: Chicago
|
A year ago in school, C/C++ was the main language being looked at, now everything has moved to Java/Java II with a little C/C++
background. C/C++ is really forced upon the students in the gaming and digital cinema degrees.
__________________
Jesus was a ruffies victim! Dan 3:20 |
![]() |
![]() |
#8 (permalink) | |
Free Mars!
Location: I dunno, there's white people around me saying "eh" all the time
|
Quote:
Ironic enough, I'm attending a Microsoft sponsered lecture Monday to discuse the future of programming and .Net technology. They're accepting resumes too ![]()
__________________
Looking out the window, that's an act of war. Staring at my shoes, that's an act of war. Committing an act of war? Oh you better believe that's an act of war |
|
![]() |
![]() |
#9 (permalink) |
Guest
|
yeah no one cares about speed anymore
I don't think java will consume all for instance i can't stand using forte (java built) as a java IDE as it's too slow.. but Jbuilder(C++ built) java IDE works nice and quick..
The same reasons which Java is a better School resource (reliablity being a main one) makes it a slower language than C++ as they both took oppsing paths on the hand off between error checking/ run time speed. As mentioned CPU speeds are increasing but memory i/o aren't exactly going to par with moore's law... and the lack of explicit dealocation of dynamicly stored variables as programs increase in complexity is a concern in my eyes. just my experiance so far.. Morose. |
![]() |
#12 (permalink) |
Upright
Location: Chico, CA
|
C/C++ will be around a lot longer then you think... For large development projects (where your typical lifetime is anywhere from 6-18 months) there is no excuse to use anything but C/C++. The reason is speed. Java gets bloated real quickly, so the built-in functionality of code production dithers to almost nothing. And as for programmability, an accomplished C/C++ programmer can do wonders (and the STL covers just about anything you need.) One up-and-comer that I haven't checked out yet is C#. Speed/robustness of C/C++ with the api/failsafes (i.e., garbage collection) of Java. Should be interesting to see what happens...
And one more thing regarding the popularity of Java in schools. I believe that C++ has a much sharper learning curve then Java, and Java plays a much better role in the learning of a first time OO coder than C++. But, just because it is taught in schools, doesn't mean it is a better language irl. Last edited by pythonite; 01-28-2004 at 07:16 PM.. |
![]() |
![]() |
#14 (permalink) | |
Crazy
Location: Pittsburgh
|
Quote:
This is the second time I've seen this in this thread and not the first place I've heard it (look at ALL Microshit software). As a programmer I hate this train of thought. Maybe I'm too experienced (12+ years) or I'm old fashioned, but this way of thinking is really disturbing. I want to know what happened to programming and attempting to create the fastest, most efficient piece of software with the smallest footprint (.Net is a great example as to why this has not been happening w/ 200m footprint) I'm not talking about 32bit graphics and 24bit sound, those require power, I won't deny that, but why does a simple word processor or spreadsheet have any inclination to choke when you ask it to do something? Cause someone who don't care about proformance or stability was incharge of the $ or the timeline, or both. I HATE how the dollar is controlling the stability of the software that we use. I feel that when I take to time produce a piece of software (non-multimedia), that it should be able to be run on a 150mh w/o a problem. I've written alot of programs and tested many of them on slow, weak platforms. Almost everyone of them ran with favorable, usable results. It is in my oppinion that anyone with a computer 400mhz and faster should not have issues browsing the web, using non-graphic intense software (aka desktop applications), and the like. However, I see it time and time again that the only reason that people feel the need to upgrade their systems is because the SW manufactures cut corners in their development to get it out the door faster and share in this STUPID mentality that because the hardware is fast enough now, why should we care what type of requirements are on it? I understand that everyone loves speed, but when I upgrade my system, I should get a faster system, not just a system that will slow down with the inclusion of software that is designed to make my computer slow again. /rant Sorry, I've been needing to get that out of my system for some time. If someone has taken that personally, I'm sorry, but that is the way I feel. Later. |
|
![]() |
![]() |
#15 (permalink) |
Insane
Location: Seattle
|
As an interpretted language, like Java, will not compile to native code on most processors, it will never have the full range of instructions available to languages that write to the native instruction set. This does not mean that it lacks functionality, but does not have the potential to reach max performance - as systems software requires.
For web based internet applications, Java, C#, perl, etc. - all these interpretted languages will be fine. For writing systems software, C and its derivatives are best.
__________________
"It's a long story," says I, and let him up. |
![]() |
![]() |
#16 (permalink) |
Free Mars!
Location: I dunno, there's white people around me saying "eh" all the time
|
What about WSE? Microsoft just started to roll them out...
__________________
Looking out the window, that's an act of war. Staring at my shoes, that's an act of war. Committing an act of war? Oh you better believe that's an act of war |
![]() |
![]() |
#17 (permalink) |
WARNING: FLAMMABLE
Location: Ask Acetylene
|
The fact that you believe Java never compiles code loops into the machine language of the platform it is running on shows why people think Java is "slow."
Java compiles the code loops and functions at run-time if they are used frequently so your basically running compiled code like any other language, with a bit more overhead for Java's nicer features. You should benchmark PSP sometime and compare the performance to mod_perl or mod_python. Hell compare it to a module written in C. In fact instead of talking about how Java is slow you should check out how much progress it has made in the past few years. Maybe even about how it can outperform GCC... http://www.osnews.com/story.php?news_id=5602&page=3 http://www.tommti-systems.de/go.html...marks.html</a> Seriously, if your still talking about how slow Java is you need to wake up... and smell the coffee :-)
__________________
"It better be funny" ![]() Last edited by kel; 01-29-2004 at 02:19 PM.. |
![]() |
![]() |
#18 (permalink) | |
Free Mars!
Location: I dunno, there's white people around me saying "eh" all the time
|
Quote:
__________________
Looking out the window, that's an act of war. Staring at my shoes, that's an act of war. Committing an act of war? Oh you better believe that's an act of war |
|
![]() |
![]() |
#19 (permalink) |
Upright
|
C and C++ are entrenched in systems programming, and I suspect they won't be going anywhere in the foreseeable future.
As far as large projects go, it's really dependent on the requirements of said project. On the Windows side I think C# will become the dominant language for writing user-space applications. It's similar enough to C++ that most programmers will have no trouble picking it up, and having access to the .NET framework makes Windows programming much easier. No more crappy WinAPI functions. On the *NIX side, I really like Python. It's elegant and easy to learn and the code scales well to large projects. The biggest problem I have with programming on *NIX is the graphics toolkits. While I haven't done much work with them, it just seems like there are so many choices that it's hard to find the right one. I don't see Mono (the OSS implementation of .NET) going anywhere. |
![]() |
![]() |
#20 (permalink) |
Insane
|
Everyone knows the future of programming is FORTRAN.
Honestly though, every language has its good points and bad points and I don't think we will ever have one language leading things into the future. The new wave in programming will probably a more visual way to create large programs. e.g. a program systematically created from UML diagrams and a visually drawn UI. Although, there will still be people programming at a lower level to make this all happen. |
![]() |
![]() |
#21 (permalink) | |
Insane
Location: Seattle?
|
Quote:
![]() A little more interesting to me these days is Jython (http://www.jython.org/), which is basically Python written in Java instead of C. Slow? You bet. But it makes for a great scripting and prototyping tool. Then, once you've scripted and prototyped everything into the perfect (yet sluggish) image, just run the jythonc compiler over it. Poof! Your prototype is now an app, compiled into Java byte-code, and much much faster. Java is your platform and source of toolkits when you use Jython, so a lot of the X11 chaos is skipped*. Plus, your app runs unaltered under any machine that has a Java interpreter. Just sharing my obsessions with the team. * I would like to mention that I actually enjoy a lot of the X11 chaos, and use it for most of my day-to-day activities. Still, if I wanted to make an app that I could plunk down and demonstrate on a broad number of machines and platforms, I'd go for Jython. |
|
![]() |
![]() |
#24 (permalink) | |
Insane
Location: Seattle?
|
Quote:
![]() |
|
![]() |
![]() |
#25 (permalink) | |
WARNING: FLAMMABLE
Location: Ask Acetylene
|
Quote:
Python on the other hand... big fan :-) I don't use it in my work anymore though
__________________
"It better be funny" ![]() |
|
![]() |
![]() |
#26 (permalink) | ||
undead
Location: nihilistic freedom
|
Quote:
Quote:
|
||
![]() |
![]() |
#28 (permalink) | |
Insane
Location: Seattle?
|
Quote:
|
|
![]() |
![]() |
#29 (permalink) |
Junkie
|
FORTAN is coming back baby, yeah!
Honestly... hmm... I have to agree with gigawatz. I also hate this, but money is apparently everything in our modern world. And umm... you can't use pointers in Java, which is enough to make baby Jesus cry. ![]()
__________________
The most important thing in this world is love. |
![]() |
![]() |
#30 (permalink) |
Psycho
Location: nOvA
|
Lack of pointers in Java is frustrating at first, learning to live without it is just fine.
I think it will be something like JAVA, c#, PERL. It will be something where there's so much built in crap that developers just need to write a few lines of code to serve webpages, factor primes, and display 3d graphics all at once. Programming will become simply coming up with more clever uses and better UI's. I used objective C once, can't say I liked it, but it was really freaking strange to create a fully skinned user interface with about 2 hours of screwing around with an ide with a drag and drop interface. I don't know if this trend is a good or bad thing though. |
![]() |
![]() |
#31 (permalink) |
Crazy
Location: Salt Town, UT
|
If I ruled the universe, Lisp would be the future of programming. I've been re-learning it (only previous experience was some embedded scheme scripting language) to find that it is utterly amazing.
You write in a high-level language, that you insert immediately into your lisp environment. That function gets COMPILED to machine code so that it runs at virtually the same speed as C, yet it is faster to write software than java (the memory usage for Lisp is closer to java than C though). In your lisp environment, you can update functions on the fly. For example, in a transaction processing system, if some transactions didn't process (due to a bug, or whatever), you could stick them into a list (remember, we have lists, hashes, and multidimensional arrays as first class objects) in your exception handler (which allows you to continue after an exception, and not just bail out to after the exception handler), fix the bug in your function, and reprocess them, all without restarting a single system, or having a second of downtime. Lisp also has an extremely powerful macro system, which is written and evaluated in lisp. Which is a big gain when compared to the C/C++ preprocessor that looks nothing like C. You never know how much you really like macros until you don't have them (Java, PHP, etc). Function calls also have one thing that I wish other systems would implement prono (perhaps something else does): named optional arguments. Say you want to call a function, and it needs two things all of the time, but sometimes you will want to pass it some extra formatting stuff, or other times you will want to pass it some extra key data. In lisp, you can just hand it through as named options, if they aren't there, it's not a big deal, but you can add one or both (or however many) of the optional arguments by name, no more filling in a blank spot, or creating a million polymorphic functions that just fill in the blanks for you. It's amazing how far technology has stepped back in the last twenty years, now that you look at it. |
![]() |
Tags |
future, programming |
|
|