ppl knew it, but not really realized till the recent(few weeks old) /. article about LIFE game in postscript. Since it beeing slashdoted we know and the printers play =)
Personally I don’t like it that much, there are far to many bits that seem, in comparison to modern languages, to be a bit of a cludge.
There are only few(as opposed to many) in the latest ANSI/ISO 1998 language specification and accordinly compliant compilers(visual c++ 2003, gcc 3.3+).
But it is one of the most commonly used languages out there so more peole will not have had the chance to try the other, IMHO much better, languages.
this is such a BS, most ppl needn’t even try other languages because C++ suits 90% tasks better.
Objective C is my favoured C variant.
as to language design/theory objective C sux arses compared to C++, it is worser in _any_ aspect so I assume you don’t really know C++ and are blaiming it. obective C lives only because of MAC platform and few others APIs written undert it.
hey web developers before you starting blaming me, I don’t care for web developing 17years old students, I’been doing asm on commodore c=64 system and since then tried numeros coding techniques/languages.
One of many things I like on C++ is that for different task you pick some other neat library instead of learning completely new language again and again.
Depending on what I’m doing, I may also use C/C++, Scheme, assembly language etc.
What I’d like to see (but am not asking for here) is a survey where there would actually be separate choices for a really large amount of languages, you could vote for several things such as “like most”, “use most” and “know well” separately (so you could see things like the difference between “like most” and “know well”), and “combined” results would be presented for various different commonalities of languages (dynamically typed, statically typed, explicit memory management, functional(*), OO, Hindley-Milner -based type system etc.).
(*) Since most languages considered functional are actually multi-paradigm, this would have to be defined in terms of a set of features (e.g. has first class functions and doesn’t distinguish between expressions and statements – this would include things like ML and Lisp dialects but exclude languages like Python and C, which I think is valid).
BTW: Not to complain about the grouping, just a factual correction – Eugenia is incorrect that languages like Lisp and Prolog are used for the same thing (except in the sense that all general purpose languages can be used for the same things). There is a popular misconception that they were designed for AI, which is largely incorrect. Prolog was, to some extent (the project was originally related to natural language processing), but Lisp wasn’t, although the MIT AI lab has historically been significantly involved with it.
My vote goes to Pascal. It seems to be very powerful, with Delphi you can do almost everything, and it compiles faaaaast. In CBuilder, an empty Windows Form takes 1:40 on my PC to compile, in Delphi it takes maybe 10 seconds.
From a non-programmer point of view, Python is by far my favorite programming languange. The minimal syntax allows you to focus on design patterns straight away, such as decorators, factories, state-proxy etc. Personally, I am not intererested in how to format a string in ten different ways, or how cryptic you can write one line of code: I need structure and absolute clarity. C++ is my favorite as a compiled language, but it is rather convoluted compared to Python.
I was very disappointed at having to vote for Lisp in the same option as Scheme and Prolog. Prolog, first, has nothing to do with either Scheme or Lisp, other than often being implemented in Lisp. It is a logic programming language with a completely different feel from Lisp.
Secondly, there is a psychological and sociological chasm between the Lisp and Scheme communities that goes back quite a ways. ANSI Common Lisp is a large and complex language, including features like object-orientation that Scheme doesn’t have. Lisp is lexically scoped; Scheme is dynamically scoped (so much for Scheme being a dialect of Lisp!).
These days, the ANSI CL crowd is probably closer to the Java community than to the Scheme community, while the Scheme community shares quite a bit with the experimental functional language (ML, et al) crowd. Mixing them together is likely to result in a loud explosion 😉
I am somewhat of a legacy programmer these days. I guess it’s because I’ve learned and used so many different languages in my career.
My vote in this poll went to Perl, because I find it to be the most useful language I have ever learned. I install it on every computer I can, and use it in a miriad of ways every day.
My favorite language of all time has to be C. I realize I’ll probably get boo’d from the rest of the folks here, but I really like it. Yes, it can be difficult at times, but short of Assembler, no other language lets you get as close to the hardware as C.
My favorite language for elegance has to be Java. I love to read the flow of a well written Java program. I am also starting to like using it for general purpose programming. The newer interpreters and JIT’s have really boosted it’s performance in the last year or so.
I haven’t tried C# yet, mainly because I don’t have a Windows machine at home that I could install .NET on. Not that I’d even want to 🙂
My least favorite language is C++. Again, I expect to be boo’d for this, but hey, it’s my opinion, not yours! Anyway, I feel C++ is just too bloated as a language. There’s too much packed in it to be practical. I do work in C++ on occassion, mainly because my job entails the maintenance of many hundreds of programs written in pretty much every conceivable language ever created for the PC <grin>, and some of these were written in C++. It always takes me several days to wade through the C++ programs and find the bugs. I suppose that’s not really C++’s fault, but the fault of the developers that wrote the programs, but it does kinkd of leave a bitter taste in my mouth.
“Secondly, there is a psychological and sociological chasm between the Lisp and Scheme communities that goes back quite a ways.”
And political and technical, and apparently phenomenal since only people on Lisp side seem to see the chasm.
“Lisp is lexically scoped; Scheme is dynamically scoped (so much for Scheme being a dialect of Lisp!).”
You have that backwards and inside out. Lisp was traditionally dynamically scoped until around the time Scheme came along. Scheme was purely lexically scoped, and to some degree proved the utility of lexical scoping to the Lisp world. Common Lisp, like most post-Scheme Lisps, is lexically scoped with dynamic scope on demand.
“These days, the ANSI CL crowd is probably closer to the Java community than to the Scheme community”
*snort*
“while the Scheme community shares quite a bit with the experimental functional language (ML, et al) crowd.”
Not so much any more. I’m not watching the Scheme side these days, but I haven’t seen a great deal of interest in Scheme from the functional community of late.
I agree – give Eugenia a break. She’s providing something for us to do on a Sunday!
I am so old, all I ever programmed in was BASIC and I do use RealBasic today. I also do AppleScripts (which doesn’t count) and used to do HyperCard (which also sort of doesn’t count because it’s sort of ike saying you program in html ;-). But, and here I agree with Mike Hearn for the very first time!! My real second choice is Java. I have found, if you have a fast enough computer, its slowness is completely overcome. In both Mac and Windows, I use ThinkFree Office and LimeWire all the time. It’s so nice when you see the cross platform ability in actual action. (Eugenia, I know Java gives you “the creeps” 🙂
I used to rave about REBOL, but the licensing scheme has somewhat calmed my affectios for the language. Technically, it is brilliant, but it is hard to use unless you’re willing to agree to a royalty program which IMNSHO sucks.
C is decent, C++ is somewhat plauged by its C legacy, but still good. Java is nice as long as you don’t expect it to perform on the desktop. I’m also very fond of assembler.
Overall, I’ve yet to find the perfect match so I guess it’s a Good Thing(TM) that I’m working on my own PL.
Great poll! The nitpickers piss me off because it’s easy to understand the poll — it’s made from a popularity perspective. And that’s what a poll is about. If you leave off Java and put in Haskell, you’ll have a totally insensible tree, with Other having a huge share of votes.
Not everyone knows what Jeet Kune Do is. Most are into Karate.
Anyway, I voted for Lisp. I don’t program in it much, but often the first thing I translate my ideas into is Lisp. It’s got the simplest core of all the languages, and yet it creates things far greater than the other languages.
For example, you can simply build your own OOP system on top of Lisp and have it look as if it had been in the language from Day 1. You couldn’t just graft OOP onto C and have it look normal. And if you do divisions — no messing around with floats and ints. It keeps things in fractional form, and numbers aren’t limited to the size you can keep in a couple bytes. They can be as big as you want.
Here’s Kent Pitman’s Slashdot interview, which got a lot of people interested in Lisp (and other languages too, always open your mind!):
Oh BTW, I love Python too. It’s the language with which I can communicate with my friends. It’s loose, lets you do what you want, and if you want some control over the power there’s unit tests.
I must say I find it interesting that languages as dead as Pascal and Objective C made the poll, but TCL/TK, which is far more popular, did not make the list.
And what about Delphi? Visual Basic makes the list but not Delphi? Bias I tell you! Bias! :p
Unless you were lumping Delphi in under Pascal, but Delphi really deserves its own vote, especially considering Delphi is far more popular than many of the other languages listed.
as to language design/theory objective C sux arses compared to C++, it is worser in _any_ aspect so I assume you don’t really know C++ and are blaiming it. obective C lives only because of MAC platform and few others APIs written undert it.
I think you are either kidding, or obviously you NEVER really programmed in Objective-C. I am a former C++ programmer, I used to it for a living, and I know it quite well.
I prefer Objective-C because of the dynamic nature of the language (categories, poseAs:, forwarding, bundles…), which often allow me cleaner design than using C++.
Other point is that the OO approach of Objective-C (similar to the Smalltalk one) seems to me far cleaner than the one of C++. For me C++ is a multi-paradigm language, and very complex. Powerful, yes, but very hard to masterize.
Objective-C isn’t the ultimate language, its only goal is to be object oriented. But it does it well, very simply and cleanly. You could truely masterize it very easily.
Sure, you could do some things similar with C++, nothing prevents you (as I stated, it’s multi-paradigm, or even, meta-) … but then with thoses additions, the syntax will look awful (see the existing “signals/messaging” C++ libraries — the only one which is great, syntactically speaking, is Qt, which uses a preprocessor 🙂 …
What’s better for sending a message ? typing :
Signal1<int,int> sig1;
sig1.connect(slot(a,&A::foo));
sig1.emit(1);
(using libsigc++ to send a foo message to an A object)
or typing :
[a foo: 1];
I don’t know for you, but I largelly prefers the second version. Use the right tool for the right job…
And with the second version, you could have your object ‘a’ located on a remote computer, it doesn’t change at all.
With Objective-C it’s also possible to dynamically add methods to a class (categories), insert dynamically a class in your class hierarchy (poseAs), and forward received messages (forwarding) …
Finally, with Objective-C, you have access to the OpenStep API, which is one of the greatest API ever done. Take a look, it’s really fantastic. Personnally I use it via GNUstep.
Perl is the greatest! Its simply the most adaptable language I’ve ever seen. As Larry wall would say, with perl, simple problems remain simple, and difficult ones become possible. I especially like the way perl bridges between windows and unix platforms. Three weeks ago, for instance, we needed to migrate about 500 sites from an NT server to Win2k. Microsoft has its official tools for the job, but for some reason, those didn’t work. What to do? Perl to the rescue!! A quick perl hack completed the job in under 15 minutes!
Kay acknowledges his debt to Simula for first actualizing an object-oriented programming scheme. However, Kay and his associates clearly saw something in Simula’s class/object concept which the rest of the computer science discipline dismissed:
“The ‘official’ computer science world started to regard Simula as a possible vehicle for defining abstract data types. . .To put it mildly, we were quite amazed at this, since to us, what Simula had whispered was something much stronger than simply reimplementing a weak and ad hoc idea. What I got from Simula was that you could now replace bindings and assignment with goals. . .”[
Personally, Forth is my favorite programming language, followed by assembly.
It’s a lot smaller than most other programming languages, is easy to implement, and, once you learn it, quite flexible. I’ve been writing an operating system in Forth; it’s a lot smaller than I could do using any other programming language I’ve seen.
That said, I use C for some jobs, and PHP for most of my web-related code.
I guess I’ve used about a dozen programming languages commercially if you’re going to include things like REXX and Perl — but I don’t. Those are for writing scripts. There is a difference.
Oh, and Java is the modern COBOL. Very effective at saving you from yourself, but definitely not high-tech.
I’m not sure what your definition of ‘programming language’ is. Languages like REXX and Perl are useful for tasks other than scripts! ‘Real’ programming languages like C/C++ can
also be used as scripting languages, so I’m not sure what the difference is.
Personally, I like the definition from wikipedia.org: A programming language is a set of syntactic and semantic rules used to define computer programs.
> Oh, and Java is the modern COBOL. Very effective
> at saving you from yourself, but definitely not
> high-tech.
I don’t know if I’d compare Java to COBOL. It is effective at saving you from yourself, but it’s a lot better of a language than COBOL is. In my opinion, the core of the language is a lot cleaner than C++. It really can’t be compared to COBOL as a language.
The poll isn’t for the “best” programming language, but for the “favorite” one. Other than that, your point is valid. There’s not a single “best” language; you should choose the language based on the task at hand!
“Oh, and Java is the modern COBOL. Very effective at saving you from yourself, but definitely not high-tech.”
Um… Have you ever actually used Java? Do you have even a basic understanding of how the JVM or the Java compiler work? If you did, I seriously doubt you would be making such statements.
Lets see… What other language in the world has a security model that is as safe as Java’s? Answer? None.
Do you know what a JIT is? How can you possibly say that is not high tech? A runtime compiler that actually profiles which sections of code are used the most often and optomizes those sections dynamically? That’s pretty high tech.
And lets not forget about JFC. Show me a toolkit that is easier to use.
Java is a hell of lot more functional than COBOL. Java is C++ without the things that can get you into trouble. Java is C++ that allows you to work 10 times faster.
And lets not forget about the cross platform nature of Java. That in itself is pretty high tech considering the different types of hardware and operating systems out there.
So now tell me again… Why do you say Java is not high tech and is basically the COBOL of today?
Do you know what a JIT is? How can you possibly say that is not high tech? A runtime compiler that actually profiles which sections of code are used the most often and optomizes those sections dynamically? That’s pretty high tech.
[/quote]
Well and if you compile C or C++ into native code, EVERYTHING is optimized, or why is C still a lot faster for most things?
“Well and if you compile C or C++ into native code, EVERYTHING is optimized, or why is C still a lot faster for most things?”
It’s not a lot faster if you use a JIT. In fact, Java code running with a JIT can get to within 95% of native C or C++ code. The only part that is noticably slower is the startup. But once it is running, it can almost as fast as C or C++.
As far as optimizing everything, that’s great. But that means that everything has to be statically checked at compile time. Yes, it is fast. But you trade off funtionality for for additional speed.
Because Java can dynamically check certain things at runtime, it can do things that a language that neeeds to statically check everything (like C or C++) will never be able to do.
Remember also that the average software program spends about 95% of its time executing 5% of its code. So Java will optimize that critical 5% by dynamically compiling it to machine code at runtime, and not worry about the rest of the code which is hardly ever run anyway.
You trade off a little bit of speed and exchange you get a lot more flexibility. And with processors running as fast as they are today, absolute raw performance is not as critical as it used to be. Sometimes speed of development and flexibility is more important. And speed of development is up to 10 times faster in Java than in C++.
“You trade off a little bit of speed and exchange you get a lot more flexibility.”
Well, I always thought that C ist much more flexible than Java, since I can do everything the way I want to, and I am not told by the language what to do which way.
“And speed of development is up to 10 times faster in Java than in C++.”
I have heard this some times, but if this was true you could develop a new version of office instead of two years in 2-3 months?
After the Matrix plug, I have one more comment: Forth should have been in the poll, as almost a tenth of the posts mentioned it – I did a count after submitting my previous comment. Maybe in the next poll?
It depends on what you are doing. Writing a C++ program to move a few files around and ftp them to your webserver would be a waste of time. Likewise, it wouldn’t be very practical to write an operating system in perl.
Both were designed by cabals to make business computing as foolproof as possible. In both cases the design was so good that the result was widely accepted. A great deal of code has been written in both languages. COBOL and it’s variants are still in use today.
“Well, I always thought that C ist much more flexible than Java, since I can do everything the way I want to, and I am not told by the language what to do which way.”
Sure. Until you want to do something like classes and inheritance. Now tell me how flexible C is?
Or what if you find that that database frontend you programmed for Windows now needs to run on a bunch of Linux workstations to? I don’t see much flexibility with C here. Get ready to completely reprogram the UI, as well as rewrite a bunch of API calls to system resources.
Or even better yet? What if you find that the database frontend you programmed for Windows now needs to run on your field service technicians’ Palm Pilots? That will really be fun in C.
Ultimately, I think Java wins the flexibility argument based on portability alone. Really, when it comes down to it the only thing Java doesn’t let you do is create security problems. Both C and C++ are very good at letting you do that. About the only thing you can’t do in Java that you can do in C is pointer arithemetic. And that’s just as well anyway. Java eliminate the need for pointer arithmetic. (That’s one reason development is so much faster. No manual memory management required.) Misuse of pointer arithmetic is probably the biggest source of bugs in C and C++ programs.
Not only that, but pointers are a security risk because they allow one to easily bypass encapsulation. Example, in Java, there is no way for an untrusted class member to access data in a class that is marked as private. Think your private classes are safe in C++? They aren’t. All one has to do is set a pointer and they can access the data inside that private class.
I see Java as being far more flexible because of its portability. I also see it as being far more productive since it lets me focus my brain on solving the problem I am trying to solve instead of on details such as memory management.
“I have heard this some times, but if this was true you could develop a new version of office instead of two years in 2-3 months?”
A team of decvelopers could. Remember that Office was not developed by one person. It took an entire team.
I must agree that Java is the modern COBOL. Perhaps not technology wise, but when you start thinking of what it is used for, by whom etc it should dawnon you that Java fills many of COBOL’s roles today.
Eugenia wrote: Why is it meaningless? Because your beloved smalltalk is not listed?
No I don’t care that Smalltalk wasn’t listed. As I clearly stated in my earlier post your poll question was, in my opinion, simply “mislabeled”. This leads to the poll not really obtaining the information that it might lead you to think it would provide. In english, as in computer languages and polls, precision is often of critical importance.
It is no concern to me how many other people use Smalltalk or any of my favorite langauges. What’s important to me is that the language that I use gets the job done for whatever project it is used for.
It is of no concern to me which computer languages you or others use. Hopefully you choose a language that works for you.
When I said it’s meaningless I meant that the infromation that you seek isn’t going to give you the answers with the poll that you used. To get the answers you need a much more comprehensive list or to enable people to enter their langauges of choice. To really get an idea of what languages people are using you’d need to allow them to enter in multiple choices and to rank their choices. This would begin to provide meaningfull data that might have some statistical realiablity and usefullness.
Sometimes I like to read comments to see what other people’s experiences are, but I’m getting so sick and tired of people complaining on these polls. (I’ve got to page 2 of the comments and just can’t read anymore). So what if ASP and PHP are listed together. Just vote for it if you like it and write a comment saying you use PHP or ASP.
The way you people (not everyone) complain, it’s a wonder there are any sites left where people could be bothered to gather information from a community.
“When I said it’s meaningless I meant that the infromation that you seek isn’t going to give you the answers with the poll that you used. To get the answers you need a much more comprehensive list or to enable people to enter their langauges of choice. To really get an idea of what languages people are using you’d need to allow them to enter in multiple choices and to rank their choices. This would begin to provide meaningfull data that might have some statistical realiablity and usefullness. ”
Um, Peter. I don’t think the purpose of the poll was for marketing purposes. I suspect it was simply was for “Fun”, nothing more.
I know everyone keeps saying it but PHP and ASP are completely different. There not even close to being the same. Just because they’re used for the same purpose you might as well bundle Perl with VBScript because they’re both scripting langauges. Take a look at a code sample:
PHP (case sensitive):
while(list($key, $value) = each($cookieInfo)){
if($v == $cookieInfo[0]){
print “Link Info: $cookieInfo[1]
“;
}
ASP (VBScript):
x=1
Do While x < 10
if x = 1 then
Response.write(“Hi There!<BR>”)
x=x+1
end if
Loop
Plus all of the tools such as ADO, methods of uploading files etc. are COMPLETELY 100% different.
PHP is more like perl and is a whole web language within its own right, ASP is VBScript for a web front end.
“Sure. Until you want to do something like classes and inheritance. Now tell me how flexible C is?”
Flexible enough that you can do it. Java, on the other hand, just doesn’t give you a choice in the matter. When I was using Java I cursed it more than once for forcing me to write classes where in most other languages I would have just used a handful of functions.
“I don’t see much flexibility with C here. Get ready to completely reprogram the UI, as well as rewrite a bunch of API calls to system resources.”
There /are/ cross-platform C libraries for that sort of thing.
“What if you find that the database frontend you programmed for Windows now needs to run on your field service technicians’ Palm Pilots? That will really be fun in C.”
My Palm has a 16MHz processor and 4MB of memory. I’m sure Swing will fly on it.
“Really, when it comes down to it the only thing Java doesn’t let you do is create security problems.”
At best Java just provides one more set of security mechanisms to be mis-implemented, compromised, bypassed, what have you. They aren’t going to prevent people from doing stupid things, and they certainly aren’t going to stop someone who’s really interested in bypassing them.
“About the only thing you can’t do in Java that you can do in C is pointer arithemetic.”
It would seem to me that Java is less flexible in that regard.
“Example, in Java, there is no way for an untrusted class member to access data in a class that is marked as private.”
Stock answer: /dev/mem, procfs, or the local equivalent. Just because the language doesn’t itself provide any way to peep at private data doesn’t mean that you can’t do it.
“A team of decvelopers could.”
And yet no one has. I would think that Sun would have been better off spending three months writing an office suite in Java than going through all the hassle with StarOffice.
“There /are/ cross-platform C libraries for that sort of thing.”
Not really. I can almost gurantee you that no complex GUI application you write will port without a significant number of changes.
“At best Java just provides one more set of security mechanisms to be mis-implemented, compromised, bypassed, what have you.”
Have you read the specifications for the Java security model? That’s the whole point. You CAN’T bypass it because the Java security manager enforces policies that the programmer simply cannot go around.
“It would seem to me that Java is less flexible in that regard.”
Why does the fact that you can’t do something that you don’t need to do anyway make it less flexible? Java eliminates the need for pointer arithmmetic.
“Stock answer: /dev/mem, procfs, or the local equivalent. Just because the language doesn’t itself provide any way to peep at private data doesn’t mean that you can’t do it.”
#1: That’s a security problem with Linux. NOT with the language itself.
#2: Untrusted Java code cannot access those kind of system resources anyway, so you are still safe.
#3: If a malicious person can get enough access where they can install and run a C app that can do that kind of thing, you have other problems anyway.
“And yet no one has. I would think that Sun would have been better off spending three months writing an office suite in Java than going through all the hassle with StarOffice.”
Actually, yes, people have.
ThinkFree Office is written in Java. Applixware is also now written in Java.
Hey, lemme know when you learn the difference between a programming language, and a scripting language. Until then, this Poll IS NOT A POLL OF PROGRAMMING LANGUAGE. Sheesh! Just look at the list 1/2 of them are scripting languages.
I use PHP mostly. Perl is better for some things, but PHP runs quite a bit faster than Perl in my tests. I mostly do ecommerce, socket bots and server scripts. Haven’t found a need to spend extra time to develop a project in Java or C#(Mono) – (only other language that I feel that would be worth learning).
As far as the PHP on Windows, I assume you are talking about IIS. You might want to try Apache 2 instead. The major perfomance boosts you’ll get is by using a DA layer to native drivers or direct calls to native drivers vs using ODBC. Either that or you haven’t been coding in PHP long enough to know how to really use it. Also look into the many FREE caching options (namely – Turck MMCache @ http://www.turcksoft.com/en/e_mmc.htm). Or switch to a real SERVER OS like *BSD.
And I agree with other comments that you have to ‘use the right tool for the job’.
“You might want to try Apache 2 instead. The major perfomance boosts you’ll get is by using a DA layer to native drivers or direct calls to native drivers vs using ODBC.”
The problem with the native drivers though is that they are not as portable. The big advantage of ODBC is that it is portable between systems.
“Flexible enough that you can do it. Java, on the other hand, just doesn’t give you a choice in the matter. When I was using Java I cursed it more than once for forcing me to write classes where in most other languages I would have just used a handful of functions. ”
Then you chose the wrong language. Don’t blame Java for that. If you need the ability to use a handful of functions dont use a language that is strictly OO. OTOH you could have easily written one class with a bunch of static functions to accomplish the same thing.
“At best Java just provides one more set of security mechanisms to be mis-implemented, compromised, bypassed, what have you. They aren’t going to prevent people from doing stupid things, and they certainly aren’t going to stop someone who’s really interested in bypassing them. ”
I disagree. Are you saying that in the many years Java has been out in the wild with very very few security issues that nobody has cared enough to try?
“And yet no one has. I would think that Sun would have been better off spending three months writing an office suite in Java than going through all the hassle with StarOffice.”
And what would the point be? There is already an office suite written in Java and in reality what is the purpose of spending money to rewrite one in Java? That makes no business sense.
Aside from assembler C is about as flexible as you can get. That doesn’t mean it should be used on every project. I wouldn’t write any custom business applications in C because it is pointless to do so. There are better tools for the job. It would be just as pointless to write a device driver in Java or Perl.
hundred =)
just felt that C++ deserves 100th comment…
noooooooooo, look what you done 😉
ppl knew it, but not really realized till the recent(few weeks old) /. article about LIFE game in postscript. Since it beeing slashdoted we know and the printers play =)
PostScript is really a beautiful language. Stack based like Forth, and has somre really powerful graphics primitives…
C++ will get the most votes.
because it’s best
Personally I don’t like it that much, there are far to many bits that seem, in comparison to modern languages, to be a bit of a cludge.
There are only few(as opposed to many) in the latest ANSI/ISO 1998 language specification and accordinly compliant compilers(visual c++ 2003, gcc 3.3+).
But it is one of the most commonly used languages out there so more peole will not have had the chance to try the other, IMHO much better, languages.
this is such a BS, most ppl needn’t even try other languages because C++ suits 90% tasks better.
Objective C is my favoured C variant.
as to language design/theory objective C sux arses compared to C++, it is worser in _any_ aspect so I assume you don’t really know C++ and are blaiming it. obective C lives only because of MAC platform and few others APIs written undert it.
hey web developers before you starting blaming me, I don’t care for web developing 17years old students, I’been doing asm on commodore c=64 system and since then tried numeros coding techniques/languages.
One of many things I like on C++ is that for different task you pick some other neat library instead of learning completely new language again and again.
FWIW when voting “other” I was thinking of OCaml.
Depending on what I’m doing, I may also use C/C++, Scheme, assembly language etc.
What I’d like to see (but am not asking for here) is a survey where there would actually be separate choices for a really large amount of languages, you could vote for several things such as “like most”, “use most” and “know well” separately (so you could see things like the difference between “like most” and “know well”), and “combined” results would be presented for various different commonalities of languages (dynamically typed, statically typed, explicit memory management, functional(*), OO, Hindley-Milner -based type system etc.).
(*) Since most languages considered functional are actually multi-paradigm, this would have to be defined in terms of a set of features (e.g. has first class functions and doesn’t distinguish between expressions and statements – this would include things like ML and Lisp dialects but exclude languages like Python and C, which I think is valid).
BTW: Not to complain about the grouping, just a factual correction – Eugenia is incorrect that languages like Lisp and Prolog are used for the same thing (except in the sense that all general purpose languages can be used for the same things). There is a popular misconception that they were designed for AI, which is largely incorrect. Prolog was, to some extent (the project was originally related to natural language processing), but Lisp wasn’t, although the MIT AI lab has historically been significantly involved with it.
My vote goes to Pascal. It seems to be very powerful, with Delphi you can do almost everything, and it compiles faaaaast. In CBuilder, an empty Windows Form takes 1:40 on my PC to compile, in Delphi it takes maybe 10 seconds.
Additionally, I like the Pascal string type.
From a non-programmer point of view, Python is by far my favorite programming languange. The minimal syntax allows you to focus on design patterns straight away, such as decorators, factories, state-proxy etc. Personally, I am not intererested in how to format a string in ten different ways, or how cryptic you can write one line of code: I need structure and absolute clarity. C++ is my favorite as a compiled language, but it is rather convoluted compared to Python.
I was very disappointed at having to vote for Lisp in the same option as Scheme and Prolog. Prolog, first, has nothing to do with either Scheme or Lisp, other than often being implemented in Lisp. It is a logic programming language with a completely different feel from Lisp.
Secondly, there is a psychological and sociological chasm between the Lisp and Scheme communities that goes back quite a ways. ANSI Common Lisp is a large and complex language, including features like object-orientation that Scheme doesn’t have. Lisp is lexically scoped; Scheme is dynamically scoped (so much for Scheme being a dialect of Lisp!).
These days, the ANSI CL crowd is probably closer to the Java community than to the Scheme community, while the Scheme community shares quite a bit with the experimental functional language (ML, et al) crowd. Mixing them together is likely to result in a loud explosion 😉
I gotta vote vulgar as my language of choice HAHAHAHA
I would have voted for Forth. It’s a pleasure programming in it, even though it might not be as practical as C++.
So I voted for my second favorite, Pascal. I am surprised it got only 3%
Just kidding.
I am somewhat of a legacy programmer these days. I guess it’s because I’ve learned and used so many different languages in my career.
My vote in this poll went to Perl, because I find it to be the most useful language I have ever learned. I install it on every computer I can, and use it in a miriad of ways every day.
My favorite language of all time has to be C. I realize I’ll probably get boo’d from the rest of the folks here, but I really like it. Yes, it can be difficult at times, but short of Assembler, no other language lets you get as close to the hardware as C.
My favorite language for elegance has to be Java. I love to read the flow of a well written Java program. I am also starting to like using it for general purpose programming. The newer interpreters and JIT’s have really boosted it’s performance in the last year or so.
I haven’t tried C# yet, mainly because I don’t have a Windows machine at home that I could install .NET on. Not that I’d even want to 🙂
My least favorite language is C++. Again, I expect to be boo’d for this, but hey, it’s my opinion, not yours! Anyway, I feel C++ is just too bloated as a language. There’s too much packed in it to be practical. I do work in C++ on occassion, mainly because my job entails the maintenance of many hundreds of programs written in pretty much every conceivable language ever created for the PC <grin>, and some of these were written in C++. It always takes me several days to wade through the C++ programs and find the bugs. I suppose that’s not really C++’s fault, but the fault of the developers that wrote the programs, but it does kinkd of leave a bitter taste in my mouth.
“Secondly, there is a psychological and sociological chasm between the Lisp and Scheme communities that goes back quite a ways.”
And political and technical, and apparently phenomenal since only people on Lisp side seem to see the chasm.
“Lisp is lexically scoped; Scheme is dynamically scoped (so much for Scheme being a dialect of Lisp!).”
You have that backwards and inside out. Lisp was traditionally dynamically scoped until around the time Scheme came along. Scheme was purely lexically scoped, and to some degree proved the utility of lexical scoping to the Lisp world. Common Lisp, like most post-Scheme Lisps, is lexically scoped with dynamic scope on demand.
“These days, the ANSI CL crowd is probably closer to the Java community than to the Scheme community”
*snort*
“while the Scheme community shares quite a bit with the experimental functional language (ML, et al) crowd.”
Not so much any more. I’m not watching the Scheme side these days, but I haven’t seen a great deal of interest in Scheme from the functional community of late.
I agree – give Eugenia a break. She’s providing something for us to do on a Sunday!
I am so old, all I ever programmed in was BASIC and I do use RealBasic today. I also do AppleScripts (which doesn’t count) and used to do HyperCard (which also sort of doesn’t count because it’s sort of ike saying you program in html ;-). But, and here I agree with Mike Hearn for the very first time!! My real second choice is Java. I have found, if you have a fast enough computer, its slowness is completely overcome. In both Mac and Windows, I use ThinkFree Office and LimeWire all the time. It’s so nice when you see the cross platform ability in actual action. (Eugenia, I know Java gives you “the creeps” 🙂
I voted other. ADA seem to be my favorite language, even though I don’t know it that much
I used to rave about REBOL, but the licensing scheme has somewhat calmed my affectios for the language. Technically, it is brilliant, but it is hard to use unless you’re willing to agree to a royalty program which IMNSHO sucks.
C is decent, C++ is somewhat plauged by its C legacy, but still good. Java is nice as long as you don’t expect it to perform on the desktop. I’m also very fond of assembler.
Overall, I’ve yet to find the perfect match so I guess it’s a Good Thing(TM) that I’m working on my own PL.
Great poll! The nitpickers piss me off because it’s easy to understand the poll — it’s made from a popularity perspective. And that’s what a poll is about. If you leave off Java and put in Haskell, you’ll have a totally insensible tree, with Other having a huge share of votes.
Not everyone knows what Jeet Kune Do is. Most are into Karate.
Anyway, I voted for Lisp. I don’t program in it much, but often the first thing I translate my ideas into is Lisp. It’s got the simplest core of all the languages, and yet it creates things far greater than the other languages.
For example, you can simply build your own OOP system on top of Lisp and have it look as if it had been in the language from Day 1. You couldn’t just graft OOP onto C and have it look normal. And if you do divisions — no messing around with floats and ints. It keeps things in fractional form, and numbers aren’t limited to the size you can keep in a couple bytes. They can be as big as you want.
Here’s Kent Pitman’s Slashdot interview, which got a lot of people interested in Lisp (and other languages too, always open your mind!):
http://slashdot.org/interviews/01/11/03/1726251.shtml
http://slashdot.org/interviews/01/11/13/0420226.shtml
Oh BTW, I love Python too. It’s the language with which I can communicate with my friends. It’s loose, lets you do what you want, and if you want some control over the power there’s unit tests.
I must say I find it interesting that languages as dead as Pascal and Objective C made the poll, but TCL/TK, which is far more popular, did not make the list.
And what about Delphi? Visual Basic makes the list but not Delphi? Bias I tell you! Bias! :p
Unless you were lumping Delphi in under Pascal, but Delphi really deserves its own vote, especially considering Delphi is far more popular than many of the other languages listed.
>Objective C is my favoured C variant.
as to language design/theory objective C sux arses compared to C++, it is worser in _any_ aspect so I assume you don’t really know C++ and are blaiming it. obective C lives only because of MAC platform and few others APIs written undert it.
I think you are either kidding, or obviously you NEVER really programmed in Objective-C. I am a former C++ programmer, I used to it for a living, and I know it quite well.
I prefer Objective-C because of the dynamic nature of the language (categories, poseAs:, forwarding, bundles…), which often allow me cleaner design than using C++.
Other point is that the OO approach of Objective-C (similar to the Smalltalk one) seems to me far cleaner than the one of C++. For me C++ is a multi-paradigm language, and very complex. Powerful, yes, but very hard to masterize.
Objective-C isn’t the ultimate language, its only goal is to be object oriented. But it does it well, very simply and cleanly. You could truely masterize it very easily.
Sure, you could do some things similar with C++, nothing prevents you (as I stated, it’s multi-paradigm, or even, meta-) … but then with thoses additions, the syntax will look awful (see the existing “signals/messaging” C++ libraries — the only one which is great, syntactically speaking, is Qt, which uses a preprocessor 🙂 …
What’s better for sending a message ? typing :
Signal1<int,int> sig1;
sig1.connect(slot(a,&A::foo));
sig1.emit(1);
(using libsigc++ to send a foo message to an A object)
or typing :
[a foo: 1];
I don’t know for you, but I largelly prefers the second version. Use the right tool for the right job…
And with the second version, you could have your object ‘a’ located on a remote computer, it doesn’t change at all.
With Objective-C it’s also possible to dynamically add methods to a class (categories), insert dynamically a class in your class hierarchy (poseAs), and forward received messages (forwarding) …
Finally, with Objective-C, you have access to the OpenStep API, which is one of the greatest API ever done. Take a look, it’s really fantastic. Personnally I use it via GNUstep.
re: To elaborate (sETIEN)
Take a look at http://www.wx4j.org
Combined with GCJ your on to a winner.
re: bash & awk
While not my fav languages, defently my most used at the moment.
re: For those of you who voted Java .. (Darius)
Yes, most of my work with Java has been compiled to native, I like the language.
re: Can I compile it yet?
Yes, http://gcc.gnu.org/java/
Perl is the greatest! Its simply the most adaptable language I’ve ever seen. As Larry wall would say, with perl, simple problems remain simple, and difficult ones become possible. I especially like the way perl bridges between windows and unix platforms. Three weeks ago, for instance, we needed to migrate about 500 sites from an NT server to Win2k. Microsoft has its official tools for the job, but for some reason, those didn’t work. What to do? Perl to the rescue!! A quick perl hack completed the job in under 15 minutes!
I love HTML because it’s easy to learn, and is fun to program. Other than that I’ll stick with VB.
>You even missed Smalltalk, the mother of all OOP languages
What are you saying? Simula was the first object oriented language. Smalltalk came later.
Taken from: http://www.cs.washington.edu/homes/dugan/history.html
Kay acknowledges his debt to Simula for first actualizing an object-oriented programming scheme. However, Kay and his associates clearly saw something in Simula’s class/object concept which the rest of the computer science discipline dismissed:
“The ‘official’ computer science world started to regard Simula as a possible vehicle for defining abstract data types. . .To put it mildly, we were quite amazed at this, since to us, what Simula had whispered was something much stronger than simply reimplementing a weak and ad hoc idea. What I got from Simula was that you could now replace bindings and assignment with goals. . .”[
Besides lisp and scheme, what about Haskell and OCamel ?
In many cases, these languages can give very elegent solutions. Performance-wise, ocamel even outperform C a lot of the times.
[Where’s HTML?]
HTML is a markup langauge not a programming language.
I voted other.
One language I like a lot for small/intermediate projects is Euphoria http://www.rapideuphoria.com it is a good replacement for BASIC.
I also like Forth. It looks like it would be very powerful for low-level stuff, but I don’t know how well it would scale to larger projects.
C, of course, is king. I think you can write very beautiful (or very ugly) programs in C. Maybe I should have voted for it.
I think that C++ is (can be) just ugly. I like many of the features that it has, but most of the code I have read is truly ugly and hard to follow.
Most of the Perl code I’ve tried to read is hard to follow as well.
For power, I think that C++ and Perl are the kings, but some of the constructs that you must use to access that power… Ugghhh!
Personally, Forth is my favorite programming language, followed by assembly.
It’s a lot smaller than most other programming languages, is easy to implement, and, once you learn it, quite flexible. I’ve been writing an operating system in Forth; it’s a lot smaller than I could do using any other programming language I’ve seen.
That said, I use C for some jobs, and PHP for most of my web-related code.
The language in Delphi _is_ Pascal.
I guess I’ve used about a dozen programming languages commercially if you’re going to include things like REXX and Perl — but I don’t. Those are for writing scripts. There is a difference.
Oh, and Java is the modern COBOL. Very effective at saving you from yourself, but definitely not high-tech.
Is there a signification for this poll ?
Maybe it is a nonsense.
What is a good programming language ?
-> Fast ? (C, ASM)
-> Easy to learn ? (HTML, Perl)
-> Security ? (Objective Caml, ADA)
-> Runs everywhere ? (Java)
-> Makes everything ? (C, Basic)
Maybe a good language is a language that is useful for ONE purpose !!!
Maybe C# and HTML are not made for the same usage.
Maybe LISP has a perfect grammar with a perfect Code-Data ability ?
Maybe XML is allready a nice language for Standardisation !
Maybe English is good at decision making.
Maybe French is nice for innovation.
Maybe african languages give another point of view…
I don’t think there is A best language.
I think there are a lot of language, each one with it’s advantages.
Give me your opinion.
[email protected]
I’m not sure what your definition of ‘programming language’ is. Languages like REXX and Perl are useful for tasks other than scripts! ‘Real’ programming languages like C/C++ can
also be used as scripting languages, so I’m not sure what the difference is.
Personally, I like the definition from wikipedia.org: A programming language is a set of syntactic and semantic rules used to define computer programs.
> Oh, and Java is the modern COBOL. Very effective
> at saving you from yourself, but definitely not
> high-tech.
I don’t know if I’d compare Java to COBOL. It is effective at saving you from yourself, but it’s a lot better of a language than COBOL is. In my opinion, the core of the language is a lot cleaner than C++. It really can’t be compared to COBOL as a language.
The poll isn’t for the “best” programming language, but for the “favorite” one. Other than that, your point is valid. There’s not a single “best” language; you should choose the language based on the task at hand!
I was looking for a object-oriented compiled language
for my simulation program. I was considering several
choices but could not make a decision until this poll.
After reading all the comments, I’ve decided to go for
OCaml. Wish me luck! (Close second was Dylan.)
“Oh, and Java is the modern COBOL. Very effective at saving you from yourself, but definitely not high-tech.”
Um… Have you ever actually used Java? Do you have even a basic understanding of how the JVM or the Java compiler work? If you did, I seriously doubt you would be making such statements.
Lets see… What other language in the world has a security model that is as safe as Java’s? Answer? None.
Do you know what a JIT is? How can you possibly say that is not high tech? A runtime compiler that actually profiles which sections of code are used the most often and optomizes those sections dynamically? That’s pretty high tech.
And lets not forget about JFC. Show me a toolkit that is easier to use.
Java is a hell of lot more functional than COBOL. Java is C++ without the things that can get you into trouble. Java is C++ that allows you to work 10 times faster.
And lets not forget about the cross platform nature of Java. That in itself is pretty high tech considering the different types of hardware and operating systems out there.
So now tell me again… Why do you say Java is not high tech and is basically the COBOL of today?
While I agree that PHP/ASP are similar. I think that it was pretty bad to put them in the same option.
I did vote for PHP though. :+)
[quote]
Do you know what a JIT is? How can you possibly say that is not high tech? A runtime compiler that actually profiles which sections of code are used the most often and optomizes those sections dynamically? That’s pretty high tech.
[/quote]
Well and if you compile C or C++ into native code, EVERYTHING is optimized, or why is C still a lot faster for most things?
“Well and if you compile C or C++ into native code, EVERYTHING is optimized, or why is C still a lot faster for most things?”
It’s not a lot faster if you use a JIT. In fact, Java code running with a JIT can get to within 95% of native C or C++ code. The only part that is noticably slower is the startup. But once it is running, it can almost as fast as C or C++.
As far as optimizing everything, that’s great. But that means that everything has to be statically checked at compile time. Yes, it is fast. But you trade off funtionality for for additional speed.
Because Java can dynamically check certain things at runtime, it can do things that a language that neeeds to statically check everything (like C or C++) will never be able to do.
Remember also that the average software program spends about 95% of its time executing 5% of its code. So Java will optimize that critical 5% by dynamically compiling it to machine code at runtime, and not worry about the rest of the code which is hardly ever run anyway.
You trade off a little bit of speed and exchange you get a lot more flexibility. And with processors running as fast as they are today, absolute raw performance is not as critical as it used to be. Sometimes speed of development and flexibility is more important. And speed of development is up to 10 times faster in Java than in C++.
“You trade off a little bit of speed and exchange you get a lot more flexibility.”
Well, I always thought that C ist much more flexible than Java, since I can do everything the way I want to, and I am not told by the language what to do which way.
“And speed of development is up to 10 times faster in Java than in C++.”
I have heard this some times, but if this was true you could develop a new version of office instead of two years in 2-3 months?
French is an excellent language for cursing ;-]
After the Matrix plug, I have one more comment: Forth should have been in the poll, as almost a tenth of the posts mentioned it – I did a count after submitting my previous comment. Maybe in the next poll?
It depends on what you are doing. Writing a C++ program to move a few files around and ftp them to your webserver would be a waste of time. Likewise, it wouldn’t be very practical to write an operating system in perl.
Both were designed by cabals to make business computing as foolproof as possible. In both cases the design was so good that the result was widely accepted. A great deal of code has been written in both languages. COBOL and it’s variants are still in use today.
“Well, I always thought that C ist much more flexible than Java, since I can do everything the way I want to, and I am not told by the language what to do which way.”
Sure. Until you want to do something like classes and inheritance. Now tell me how flexible C is?
Or what if you find that that database frontend you programmed for Windows now needs to run on a bunch of Linux workstations to? I don’t see much flexibility with C here. Get ready to completely reprogram the UI, as well as rewrite a bunch of API calls to system resources.
Or even better yet? What if you find that the database frontend you programmed for Windows now needs to run on your field service technicians’ Palm Pilots? That will really be fun in C.
Ultimately, I think Java wins the flexibility argument based on portability alone. Really, when it comes down to it the only thing Java doesn’t let you do is create security problems. Both C and C++ are very good at letting you do that. About the only thing you can’t do in Java that you can do in C is pointer arithemetic. And that’s just as well anyway. Java eliminate the need for pointer arithmetic. (That’s one reason development is so much faster. No manual memory management required.) Misuse of pointer arithmetic is probably the biggest source of bugs in C and C++ programs.
Not only that, but pointers are a security risk because they allow one to easily bypass encapsulation. Example, in Java, there is no way for an untrusted class member to access data in a class that is marked as private. Think your private classes are safe in C++? They aren’t. All one has to do is set a pointer and they can access the data inside that private class.
I see Java as being far more flexible because of its portability. I also see it as being far more productive since it lets me focus my brain on solving the problem I am trying to solve instead of on details such as memory management.
“I have heard this some times, but if this was true you could develop a new version of office instead of two years in 2-3 months?”
A team of decvelopers could. Remember that Office was not developed by one person. It took an entire team.
I must agree that Java is the modern COBOL. Perhaps not technology wise, but when you start thinking of what it is used for, by whom etc it should dawnon you that Java fills many of COBOL’s roles today.
Eugenia wrote: Why is it meaningless? Because your beloved smalltalk is not listed?
No I don’t care that Smalltalk wasn’t listed. As I clearly stated in my earlier post your poll question was, in my opinion, simply “mislabeled”. This leads to the poll not really obtaining the information that it might lead you to think it would provide. In english, as in computer languages and polls, precision is often of critical importance.
It is no concern to me how many other people use Smalltalk or any of my favorite langauges. What’s important to me is that the language that I use gets the job done for whatever project it is used for.
It is of no concern to me which computer languages you or others use. Hopefully you choose a language that works for you.
When I said it’s meaningless I meant that the infromation that you seek isn’t going to give you the answers with the poll that you used. To get the answers you need a much more comprehensive list or to enable people to enter their langauges of choice. To really get an idea of what languages people are using you’d need to allow them to enter in multiple choices and to rank their choices. This would begin to provide meaningfull data that might have some statistical realiablity and usefullness.
No Eugenia bashing intended.
Sometimes I like to read comments to see what other people’s experiences are, but I’m getting so sick and tired of people complaining on these polls. (I’ve got to page 2 of the comments and just can’t read anymore). So what if ASP and PHP are listed together. Just vote for it if you like it and write a comment saying you use PHP or ASP.
The way you people (not everyone) complain, it’s a wonder there are any sites left where people could be bothered to gather information from a community.
Pretty piss poor people. That’s what I think.
“When I said it’s meaningless I meant that the infromation that you seek isn’t going to give you the answers with the poll that you used. To get the answers you need a much more comprehensive list or to enable people to enter their langauges of choice. To really get an idea of what languages people are using you’d need to allow them to enter in multiple choices and to rank their choices. This would begin to provide meaningfull data that might have some statistical realiablity and usefullness. ”
Um, Peter. I don’t think the purpose of the poll was for marketing purposes. I suspect it was simply was for “Fun”, nothing more.
I know everyone keeps saying it but PHP and ASP are completely different. There not even close to being the same. Just because they’re used for the same purpose you might as well bundle Perl with VBScript because they’re both scripting langauges. Take a look at a code sample:
PHP (case sensitive):
while(list($key, $value) = each($cookieInfo)){
if($v == $cookieInfo[0]){
print “Link Info: $cookieInfo[1]
“;
}
ASP (VBScript):
x=1
Do While x < 10
if x = 1 then
Response.write(“Hi There!<BR>”)
x=x+1
end if
Loop
Plus all of the tools such as ADO, methods of uploading files etc. are COMPLETELY 100% different.
PHP is more like perl and is a whole web language within its own right, ASP is VBScript for a web front end.
“Sure. Until you want to do something like classes and inheritance. Now tell me how flexible C is?”
Flexible enough that you can do it. Java, on the other hand, just doesn’t give you a choice in the matter. When I was using Java I cursed it more than once for forcing me to write classes where in most other languages I would have just used a handful of functions.
“I don’t see much flexibility with C here. Get ready to completely reprogram the UI, as well as rewrite a bunch of API calls to system resources.”
There /are/ cross-platform C libraries for that sort of thing.
“What if you find that the database frontend you programmed for Windows now needs to run on your field service technicians’ Palm Pilots? That will really be fun in C.”
My Palm has a 16MHz processor and 4MB of memory. I’m sure Swing will fly on it.
“Really, when it comes down to it the only thing Java doesn’t let you do is create security problems.”
At best Java just provides one more set of security mechanisms to be mis-implemented, compromised, bypassed, what have you. They aren’t going to prevent people from doing stupid things, and they certainly aren’t going to stop someone who’s really interested in bypassing them.
“About the only thing you can’t do in Java that you can do in C is pointer arithemetic.”
It would seem to me that Java is less flexible in that regard.
“Example, in Java, there is no way for an untrusted class member to access data in a class that is marked as private.”
Stock answer: /dev/mem, procfs, or the local equivalent. Just because the language doesn’t itself provide any way to peep at private data doesn’t mean that you can’t do it.
“A team of decvelopers could.”
And yet no one has. I would think that Sun would have been better off spending three months writing an office suite in Java than going through all the hassle with StarOffice.
“There /are/ cross-platform C libraries for that sort of thing.”
Not really. I can almost gurantee you that no complex GUI application you write will port without a significant number of changes.
“At best Java just provides one more set of security mechanisms to be mis-implemented, compromised, bypassed, what have you.”
Have you read the specifications for the Java security model? That’s the whole point. You CAN’T bypass it because the Java security manager enforces policies that the programmer simply cannot go around.
“It would seem to me that Java is less flexible in that regard.”
Why does the fact that you can’t do something that you don’t need to do anyway make it less flexible? Java eliminates the need for pointer arithmmetic.
“Stock answer: /dev/mem, procfs, or the local equivalent. Just because the language doesn’t itself provide any way to peep at private data doesn’t mean that you can’t do it.”
#1: That’s a security problem with Linux. NOT with the language itself.
#2: Untrusted Java code cannot access those kind of system resources anyway, so you are still safe.
#3: If a malicious person can get enough access where they can install and run a C app that can do that kind of thing, you have other problems anyway.
“And yet no one has. I would think that Sun would have been better off spending three months writing an office suite in Java than going through all the hassle with StarOffice.”
Actually, yes, people have.
ThinkFree Office is written in Java. Applixware is also now written in Java.
Hey, lemme know when you learn the difference between a programming language, and a scripting language. Until then, this Poll IS NOT A POLL OF PROGRAMMING LANGUAGE. Sheesh! Just look at the list 1/2 of them are scripting languages.
[i]Um, Peter. I don’t think the purpose of the poll was for marketing purposes. I suspect it was simply was for “Fun”, nothing more.</>
In that case you have a point. However from reading this forum it seems that others, as well as myself, also didn’t get that.
I use PHP mostly. Perl is better for some things, but PHP runs quite a bit faster than Perl in my tests. I mostly do ecommerce, socket bots and server scripts. Haven’t found a need to spend extra time to develop a project in Java or C#(Mono) – (only other language that I feel that would be worth learning).
As far as the PHP on Windows, I assume you are talking about IIS. You might want to try Apache 2 instead. The major perfomance boosts you’ll get is by using a DA layer to native drivers or direct calls to native drivers vs using ODBC. Either that or you haven’t been coding in PHP long enough to know how to really use it. Also look into the many FREE caching options (namely – Turck MMCache @ http://www.turcksoft.com/en/e_mmc.htm). Or switch to a real SERVER OS like *BSD.
And I agree with other comments that you have to ‘use the right tool for the job’.
“You might want to try Apache 2 instead. The major perfomance boosts you’ll get is by using a DA layer to native drivers or direct calls to native drivers vs using ODBC.”
The problem with the native drivers though is that they are not as portable. The big advantage of ODBC is that it is portable between systems.
“Flexible enough that you can do it. Java, on the other hand, just doesn’t give you a choice in the matter. When I was using Java I cursed it more than once for forcing me to write classes where in most other languages I would have just used a handful of functions. ”
Then you chose the wrong language. Don’t blame Java for that. If you need the ability to use a handful of functions dont use a language that is strictly OO. OTOH you could have easily written one class with a bunch of static functions to accomplish the same thing.
“At best Java just provides one more set of security mechanisms to be mis-implemented, compromised, bypassed, what have you. They aren’t going to prevent people from doing stupid things, and they certainly aren’t going to stop someone who’s really interested in bypassing them. ”
I disagree. Are you saying that in the many years Java has been out in the wild with very very few security issues that nobody has cared enough to try?
“And yet no one has. I would think that Sun would have been better off spending three months writing an office suite in Java than going through all the hassle with StarOffice.”
And what would the point be? There is already an office suite written in Java and in reality what is the purpose of spending money to rewrite one in Java? That makes no business sense.
Aside from assembler C is about as flexible as you can get. That doesn’t mean it should be used on every project. I wouldn’t write any custom business applications in C because it is pointless to do so. There are better tools for the job. It would be just as pointless to write a device driver in Java or Perl.
http://www.rapideuphoria.com