国内程序员与国外程序员的不同——从回复就可以看的出来

国内程序员与国外程序员的不同——从回复就可以看的出来

国内回复就一句语,国外回复一大篇,那些回复都可以当一小篇文章了啊。

中国的程序员,你们真的是没时间

  • 文章

http://www.oschina.net/news/29162/java-is-dead-9-million-devs-disagree

Java 已死?九百万程序员说不

http://zeroturnaround.com/blog/java-is-dead-9-million-devs-disagree/

Java is dead? 9 million devs disagree by Arnel Pällo

  • 国内的回复

网友评论,共 11 

1楼:秀出个人精彩 发表于 2012-05-21 09:25 回复此评论 

有些道理

2楼:Liuxd 发表于 2012-05-21 09:27 回复此评论 

往往死的语言都是没人诅咒过的...

3楼:dd 发表于 2012-05-21 09:28 回复此评论 

我还得靠它谋生呢

4楼:无量神通 发表于 2012-05-21 09:28 回复此评论 

javaer...

5楼:Monkey 发表于 2012-05-21 09:30 回复此评论 

java死了,我们怎么活?

6楼:MUTEX 发表于 2012-05-21 09:32 回复此评论 

Klingon语言

HIja'

http://www.google.com/webhp?hl=xx-klingon

7楼:CheckStyle 发表于 2012-05-21 09:40 回复此评论 

2001年就这么说了...

8楼:其它 发表于 2012-05-21 09:43 (非会员

我讨厌JAVA

9楼:wenjing 发表于 2012-05-21 09:48 回复此评论 

各有各自的菜,但也没必要把java的性能描述的和c一样吧,这货没写过c~

10楼:ExtremeTalk 发表于 2012-05-21 09:49 回复此评论 

我越来越多混合使用GroovyJava了,为了提高编程效率。很多程序都不需要很高的效率,但是我需要很快的编写出来,Java确实很冗长。

11楼:圣何塞白话人 发表于 2012-05-21 09:54 回复此评论 

lisp61年了,至今还有nmlhaskellpython程序员。。。我猜文章作者进小匣子了,Java也不会死

  • 国外的回复

Showing 40 comments

Florian Bösch, Programmer

The old Java is as fast as C myth: Yeah in micro-tests you might reach that speed, but once you factor in realtime application concerns (GCing), a bunch of shoddy written stdlib and framework code etc, that has all but vanished. Heck, I can write Javascript or Ruby code that's nearly as fast as C, doesn't mean they're actually as fast as C.

The old Java is portable myth: Ask anyone who's ever written vanilly jdk java, J2ME and Android java how portable their code is (even among android devices) and you'll find out that the theoretical portability is worth zilch/nill/null/nada because you're targeting a bazillion of slightly different but same looking APIs that break everytime you plugged the gaping hole for one device/driver/platform.

The old Java is modern myth: Java doesn't have proper closure, anonymous blocks, co-routines/continuations, iterators/generators, first class types, and the list goes on and on.

The old Java is popular myth: once something's gotten a sufficiently large userbase, it'll hang around pretty much forever with a substantial amount of users. Even Cobol has a substantial amount of users still, doesn't mean it's popular. Same has been said about C++ etc. Just because there are still people to pat themselves on the collective back doesn't mean anything.

The old Java is pleasant myth: no. seriously, really? no. You probably haven't used any other language if you can even say that.

The old Java has great libraries myth: Yeah, for each task it has about a dozen buildin libraries, all about 80% complete, and about two-dozen other libraries you can download somewhere, mostly about 20% complete. "Java: There should be as many broken ways to do the same thing as possible."

Peter Ashford

Speed:  I've written OpenGL game code in C++ and Java.  The speed is equivalent.  Speed testing various systems implemented in both languages has (since Java 1.5 shown Java to be 80-105% the speed of C++.  Only in some heavy memory allocation tests did I find c++ to have any real advantage - and 1.5 was, what? 5 years ago?  Java is faster since)

Portable:  I've written Java code for Windows and Unix machines on a Linux box.  Ported perfectly.  I've written Java code with 3D graphics and low level hardware interaction on a Windows box for a Mac and it work perfectly.  First time.

Modern: Closures and your other wish-list items don't constitute "modern" (unless Lisp is modern???)  These features are language choices and just because Java chose not to use those features is not a sign of AGE it's a sign of DESIGN decisions. You may choose to disagree with those design decisions but characterising those as constituting "modernity" is factually incorrect and pure sophistry.Popular / Pleasant: The author loves Java.  I love Java.  I have developer friends who love love Java.  Again, if you don't that's fine, but don't speak for the rest of us please."The old Java is pleasant myth: no. seriously, really? no. You probably haven't used any other language if you can even say that."  And here we see the typical arrogance of the programming language hipster.  I've been coding for three decades.  I've used everything from machine code, C and C++ through to Python, Ruby and Lisp.  And I LOVE Java (I also love C and Lisp).  I am SICK TO DEATH of arrogant jerks who assume that the only reason that anyone would like Java is because they're some programming newb who has no other experience.

Dave Stengel

Wow .. Florian, you really are quite the douchebag.

Mateo Bengualid

The C/JVM speed debate is sadly unscientific and therefore useless. I'd really like to see a paper on this subject, though. My thesis: it's so easy to screw up memory management with C that perhaps using a GC actually improves performance.

I'd like to see a paper about portability, but since I don't have any, I'll talk about my personal experience. I've done plenty of J2SE applications for Linux and Windows, for different versions of the JVM, and even different manufacturers (at least IBM and Oracle VMs). I've also done migrations from J2ME to Android. From my own experience, the only place where portability breaks down consistently is in the UI. Migrating to Android is easy, even if they have different storage models, for everything *except* the UI. But this is nothing new, because every multi-platform environment with a visual library (let's say Python+GTK) has the same problems. So yeah, it's as WORA as experience has shown is possible. Compare this with C and C++, which have huge portability issues: Mozilla has a nice page about this.

The part about modernity really shows how you don't have a clue, because from this point onwards you mix up the language with the platform, but I'll ignore that. Yeah, the Java language doesn't have "proper" anything, but what did you expect? It's neither a dynamic language, nor a functional one. Why should the syntax allow closures? It doesn't have "proper" anonymous blocks for the same reasons, although it provides a static mechanism with anonymous classes. Iterators are hardwired into the Java language since 1.5 though, and generators are harder to implement, but not impossible (use Jython if you want those features ingrained in your syntax as badly). Finally... Scheme has provided continuations for over 15 years: hardly new. And first-class types... what the hell are you talking about? Java 1.0 had those: they are called classes. Scala has different first-class types, so has Jython. Deal with it.

Regarding popularity, I lack numbers. But so do you: you only made a general statement that didn't supported nor denied the "myth".

About pleasantness: it really lies in the eyes of the beholder. I hate CamelCase, therefore C#, but that's just me; I love Python's simplicity in variable declaration. But since syntax pleasantness is marred by APIs, I hate Python for its low level I/O routines and the mess the Python Foundation did with cryptography libraries, while the opposite is true for Java. It really depends on your problem and circumstance.

Finally, a note about libraries (Java platform again, jay!). Sadly, your comment is valid for any platform. That's why Haskell has Snap, Python has Django and M2Crypto, .Net has NHibernate, and so on. In the case of Java, I've rarely needed third-party libraries. If I do need them, they are always provided by: (a) the Apache Foundation, (b) the JVM manufacturer, e.g. Oracle or IBM, or (c) providers from widely used libraries, like SpringSource.

arhan

Java doesn't have to be modern. It will get some fancy stuff eventually, but even then it won't be as modern as the other not-so-popular languages 

James T Thomas

I have worked for companies that write Java Code using Eclipse on a PC.  We test it then port it over to UNIX servers, or Linux etc....  We have the site running on windows and UNIX servers with classes compiled on Windows.  Java is portable.  Is it verbose - yes.  Lots of libraries ... yes.  Perfect....no.  I do not claim it to be perfect by any means.  It is a tool that works and has been adapted widely.  You can write elegant Java as well as spaghetti code.  Ulitimately it is how the tool is used.  A language will not create good programmers.  Study, practice, and keeping up with technology as much as one can increases a programmers abilities.  I disagree with the intent and content of Mr. Bosch's 'expose'.

Florian Bösch, Programmer

I disagree with the intent and content of Mr James T (Tiberius, Thomas, Tomatoe?) Thomas 'expose'.

I've worked for companies that used Java and Eclipse and I found that it usually was a clusterfuck, and that if you took away a Java programmers Eclipse, said programmer just became an inert hunk of protein without any productivity whatsoever (although even with Eclipse some programmers, especially Java programmers tend to be active hunks of protein with a negative productivity quotient).

James T Thomas

What a negative reply, off point, insulting, inaccurate, and rediculous.

Florian Bösch, Programmer

Actually it's pretty accurate, or do you profess to have been along whereever I went and saw one clusterfuck after another to do with Java? Seriously, because I haven't seen you peeking over my shoulder, so that kinda creeps me out.

Vistacalifornia2000

Please do not use profanity Mr. Florian Bo..sch.

Bobsmith

Oh, how I tired of arrogant people who think they are so much smarter than everyone else.

Florian Bösch, Programmer

Which pretty much applies to much of the in-Java crowd singing "la-la-la I can't hear you" over their wonderful enterprisey import java.lang.foo.bar.enterprise.ncc.1701.d.factory.multimanty.factory.manyways.are.we.there.yet.libraries and all the horrible, horrible gunk you eloquently call "programming" despite that you pretty much have no clue how that looks like if it hit you over the head with a rock.

Ramy

oh you're a funny douchebag

James T Thomas

There is no la la la going on except in your head

Jamestthomas

Do something productive instead of being a java basher.  I'm sure you are most capable.  The Holy Wars are the pitfalls for many otherwise talented people.

Sharath Naik

JAVA is dead.. Long live the ????? I am sorry but when u declare something dead aren't you supposed to state the alternative? This is a pointless discussion if an alternative is not stated. I can make a statement too here it goes"smart phones are so yesterday, they are practically dead", you see I look like a fool to myself.

Florian Bösch, Programmer

Well C is enjoying some renewed popularity despite having been officially declared dead about once every decade since its inception somewhen in the stoneage.

A flurry of funny languages like ObjC (which is actually despite the name, just a kind of lisp with pointers and square brackets) is mighty popular these days.

Of course there's the Javascript side of things, which is quite messy, but gets made funnier by things like Coffeescript, which depending on which coolaid you drink is the greatest thing since sliced bread, or the incarnation of the deveil (I think it's cool). Ohyeah, it's also the only remaining "write once, run everywhere" language that actually runs on your desktop, so that's a plus.

Dart, for what it's worth, may (or may not) turn out to be a lot of balloney, or the second coming. Who knows, at least it has classes (but so has Coffeescript), but it also really has operator overloading and setter/getter properties on your own stuff (which Coffeescript hasn't).

If you're asking yourself "Well, when java is dead, what replaced it?" the answers's pretty simple. Nothing replaced java, it just never was everywhere to begin with (and it still isn't), and the few places it has been first (like applets) are long no more and ursurped by a variety of other stuff. Java never held a candle up to PHP (in terms of popularity), and the enterprisey programmers are apparently shuffling back to Cobol.

Jamestthomas

I hate to tell this self proclaimed expert that Java is widely used in the company I currently consult for and I have not been out of work as a Java programmer a single day since 1998.

Florian Bösch, Programmer

I hate to tell this self proclaimed self proclamator that that in 15 years working in the IT industry I never had trouble finding work not involving Java. And the few times that I did accept such work (on some insane impulse thought of "how bad can it be?") I sorely, sorely regretted that decision.

James T Thomas

I didn't come on here self proclaiming anything.  I answered your proclamations with facts.  Sorry that doesn't work for you.

Florian Bösch, Programmer

And I reproclaimed your proclamations right back with facts, sorry you feel thats not working for me, but I assure you, it's not working for you.

Will S.

I'm a .NET (C# and VB.NET) guy doing more and more Java stuff on my down time.  I simply agree with everything said here and I'll leave it at that.  When the dust settles, Java isn't going anywhere.

Matjaz Muhic

Those who disagree probably didn't do much Java or did some Java in college... :) 

Peter Lawrey

There are posts on the web claiming Java is dead every years since it was released.  So many that you can graph the numbers associated with each year.   http://vanillajava.blogspot.co...

What I found is that many of the posting are of the form; Java is Dead, Use My Preferred Language instead, The language D appeared to be the preferred language of the author.

As to whether Java is faster than C is a question made more difficult by real world concerns. Given expert developers, any amount of time, you don't have to worry about software maintenance and a fixed budget for hardware, C is going to be faster IMHO.

If you have a limited budget, limited time where a stable, correctly working system comes before performance tuning, developers of mixed ability, and the option of buying more expensive hardware if it reduces development costs, you could find that Java, or another high level language delivers a faster solution. Its difficult to quantify, but in real projects many factors contribute to the actual performance of a complex real world solution.

In one major C++ project I have worked with (with 30+ developers), the need to isolate components so a crash in one didn't bring down the whole system was solved by sending messages being sent between components. (And a daily core dump report ;) In Java you can get the same level of protection, using components in the same JVM saving the cost of messages sent via TCP and ending up with a faster solution (in many cases you could have used method calls). As the C++ system was so complex, it was hard to understand the end to end message flow of the whole system, making implementing an optimal solution very hard.

The C++ code was fast, faster than a similar Java system, however the end to end solution was so much slower to run (as well as requiring more resources and longer development times) and it was Java which was using for the high frequency trading and the C++ system was used for managing flow from clients (less latency sensitive)

David La Motta

Very well said. There is one area that Java has been left out of, and that is mobile.  If not for the advent of Android, Java for mobile would still be taboo (lets not mention J2ME).  What about iOS, though?  iOS has a huge junk of the market, and it spits in the face of Java developers who don't care to pick up Objective-C.

Enter Emitrom.  The "GWT4" team is making use of GWT like MacGyver used his Swiss Army knife.  With the GWT compiler we allow Java developers to write in our beloved Java, and out comes [Javascript] that can be interpreted by any webkit-based device.  If we want access to the hardware, we can do that with integration with PhoneGap, again, all in Java.

In light of not turning this post into a shameless plug, my point is to extrapolate the idea that Java is here to stay, and it has the ability to touch every area one could possible desire to address: back-end, front-end, web, and now cross-platform mobile.

itoctopus

Hi Arnel,

There is a word that was only mentioned once in your post above, and that was key to reviving Java, which is Android. If you want to develop in Android, you need to learn Java, as Java is Android.

Every developer worth his salt knows that the future is smartphones and tablets, and so everyone is trying to learn Java to develop with Android.

Bogomil Shopov -Bogo

I think you can learn programming for android without learning the most of the java it self :)

Matjaz Muhic

Yes. If you don't care what your code looks like afterwards.

Alex

"lack of bleeding-edge features in the language"

Or lack of 1970's features in the language.  When do you think we are going to get some of those?

"Cool frameworks often break down the minute your program model does not match the user model anymore. For more, I can recommend this wonderful post on that topic by Joel Spolsky"

Joel doesn't use the word "framework" once in that article.  It's an article about user-interface design.

"strong IDE support. Dynamic languages will always be at a disadvantage here. Having a simple, no-nonsense language in a huge project with great IDE and tooling support is priceless. Nothing else comes even close IMHO."

Most of these features of your IDE came from 1980's Smalltalk IDEs, a dynamically-typed language.

"There is also a huge number of libraries available for Java that handle most of the “expressiveness shortcomings” of the language."

I'm curious to hear what they are.  I would have thought that any "expressiveness shortcomings" of the language would be syntactic issues, and thus, lacking any means of syntactic abstraction, a Java library could not help at all here (besides, say, providing an interpreter or compiler for a completely different language, like Clojure does).

"Pure Java, used properly, is an awesome language."

So Java has some flaws but there are libraries to deal with that, but it's only awesome if you don't use any extra stuff?  I don't quite understand this.  What language, exactly, are you comparing it to?  You mention Python and Ruby earlier, but I haven't heard you say anything about Java that is better than them, apart from your mistaken ideas about IDEs.

arhan

" I'm curious to hear what they are. "

How about Guava collections library? Or Mokito, or LambdaJ? Those libraries are awesome and really help a lot inferring some eye-candy to the code also.

I don't think the author actually compares Java to any language. It is just the fact that Java is a fine language to program with and a freakin' awesome platform/ecosystem for the community.

Hernan Saab

Java is a fine language. It works great for certain applications. The bad rap it's got is mainly because a few years back it was pushed as the language that will solve all problems. It was pushed to be the language of the web for both front end and back end. There is little doubt that it failed at that.

However, Java is great for creating custom server apps as well as tools. 

I can't help to notice the overhead of some java apps that creates overbearing lag. Think netbeans or aptana. Compare these two tools to XCode. There is no question on the responsiveness of both tools. XCode wins many times over on responsiveness and memory footprint.

Again, Java is great but there is an unnoticed killer called ObjectiveC + ARC that will make java disappear for all new apps

KevinCho

Java will never die.  For other programming language, they are really excited about new features on next major version.  Like PHP3 to PHP4.  For Java, most of us don't care as much after Java 5.  What I'm saying is that Java isn't just Java.  I look at it as a massive third party code that works on Java.  Anything I can think of is already done by millions of people and often offer multiple solutions to solve a problem.  It gives you CHOICES where other new and hip languages lack.  I'm not saying those languages are bad or not fit for business but code quality comes from a programmer and not what programming language he uses.  For me, I'll stick w/ Java for long time~~ Not because it's OO or other marketing stuff.  It's for all open source that runs ONLY w/ Java. 

James T Thomas

There are always 'Know it all' programmers.  I hope for everyone here you do not have to work for a Crusader with a bug up their a...  It will diminish your growth, take much joy out of the work, hurt teams and the ability to work together.  I work with people who respect and learn from each other.  It is the best job I have had in years.  I have suffered working with fat heads and I am particularly opposed to the "shock' statements that come from MT. Olympus.  What is dead or should be dead is the fat head know it all in an industry where no one knows it all.

Fenton Travers

I started programming in Java, day one it came out.  I'v e been programming in it ever since.  I've programmed in a lot of languages, from shell scripts, perl, python, ruby, c, c++, what am I forgetting?

Now I'm doing everything in my power not to program in Java.  I'm trying to move to Clojure, but often find myself working in Ruby.  I work with a lot of other programmers.  Yes, Java is probably better on big projects than C++, but its too easy to write crap in Java.  Like total nonsense, spaghetti code, that just goes on and on and on forever and is completely un-testable.  To me this is the alpha and omega.  This is the problem with imperative languages: fortran -> c -> c++ -> java.

I used to be a java fanboy, because I was forced to use something even worse for a time in my career.  Now that I have the luxury to pick which language our team is going to write in, I'm running for the hills from Java.

Try this.  Try to write some stuff in Ruby, then you can use Jruby to run it on the JVM.  You can hide this from your management.  Just try it.  I think you'll then begin to understand what it is about Java, that us Java refugees are talking about.  If you don't like it, you can always come back, and you'll have added a tool to your toolbox.

Anonymous

coming from a person who relies one java for their income i am simply not surprised.

there will always be java programmers just like there will always be delphi and pascal programmers.

Mikhail

Java is not dead now like COBOL was not dead 30 years ago. I have done a lot of Java programming but these days I prefer C# - "proper" generics , WPF, Linq, Rx, await/async, all features Java developers could only dream about. Only doing C# you notice that Java is like a woman in the fifties - reliable but not exciting at all... Sorry guys.

Sebastian

Java is neither dead nor will it be in the next 10 years. According to tiobe and joinvision there simply is no successor on the horizon. See my analyses on http://bit.ly/zWZ5ji (in German)

Andrea Del Bene

I'm happy when someone says "Java is dead". Java "is dying" (and is  "doomed") since 1997, but it still rules software industry.

Narayan

What do i think is java is becoming stronger than ever. I'm a javafx and java developer. I've been always using Java and only Java after taking taste from C, ActionScript . The difference I found in Java was it's more portable than any other langauge. And I feel easy to code in Java as it has good features. Day by day it's increasing it's users and it's usage. Today most of the smart devices are all running with Java including Android.

After involvement of Oracle in Java I found some progress on GUI and deployment performance. Even twitter is using Java for their searching stream . Java is super fast in comparison to others while doing big stuffs like in server stuffs.

 I know many colleges student don't like the Java because they really don't like the mess of codes and don't want to remember the packages,Class,function and their data type.. :). Nothing in the world is easier you need to struggle my student fellows.....

Saxo

I think java will gain even more momentum with JDK8 when Java will also support closures. Will take quite a while till the average Joe java developer will grasp the power and ease of using closures. But then the masses will somewhen understand closures and like them as all those people did doing Smalltalk, Ruby, Groovy, Scala, etc.

· Subscribe by email

· RSS


 



你可能感兴趣的:(程序员,国外,国内,意见,回复,不区别)