• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Worried about java

 
Ranch Hand
Posts: 121
Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have just started to learn java and i am hearing from people that java has no future scope because it is slow and asp.net , php , c# would be in use at large , Can someone justify or simplify this
 
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Can someone justify or simplify this



No one can, because it is not true
 
Deepak Bala
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
"idity mum" please check your private message for an important administrative matter
 
Ranch Hand
Posts: 701
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You forgot people that say Ruby on Rails is the future.
 
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
People are always saying that XYZ is "the future". Grain of salt.
 
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pratik mhta wrote:I have just started to learn java and i am hearing from people that java has no future scope because it is slow and asp.net , php , c# would be in use at large , Can someone justify or simplify this


There are so many things wrong with that.

Java is *very* fast. It has one of the best virtual machines ever made with *very* good optimization. PHP is (mostly) garbage, and as far as I'm concerned, has no place doing real work when *so* many better options exist. (Of course it's usable, and a lot is done with it--that doesn't mean it's a good choice, though.)

It's also important not to confuse Java-the-language with Java-the-ecosystem. Java-the-language has some issues (in my opinion), some of which may be addressed by Java 7. Java has *very* good development tools, and unlike .NET, there are more than two implementations (IF you count Mono as a complete implementation). The JVM has some of the best languages running on it (although F# is quite good as well).
 
Pratik D mehta
Ranch Hand
Posts: 121
Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

David Newton wrote:

Pratik mhta wrote:I have just started to learn java and i am hearing from people that java has no future scope because it is slow and asp.net , php , c# would be in use at large , Can someone justify or simplify this


There are so many things wrong with that.

Java is *very* fast. It has one of the best virtual machines ever made with *very* good optimization. PHP is (mostly) garbage, and as far as I'm concerned, has no place doing real work when *so* many better options exist. (Of course it's usable, and a lot is done with it--that doesn't mean it's a good choice, though.)

It's also important not to confuse Java-the-language with Java-the-ecosystem. Java-the-language has some issues (in my opinion), some of which may be addressed by Java 7. Java has *very* good development tools, and unlike .NET, there are more than two implementations (IF you count Mono as a complete implementation). The JVM has some of the best languages running on it (although F# is quite good as well).



Hello david
Can you explain the overview of java ecosystem , the different things made available by java to be used for specific purposes eg j2me for mobile evironment .
It would be of gret help as i have just started with java 5.0 few days back and any things i should be aware of before diving into java.
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There's too much to list. But Java-the-ecosystem is the JVM, Java itself, and the huge number of libraries available to do nearly everything. J2ME (as you mention) and JEE (enterprise Java) are two chunks of it.
 
Pratik D mehta
Ranch Hand
Posts: 121
Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

David Newton wrote:There's too much to list. But Java-the-ecosystem is the JVM, Java itself, and the huge number of libraries available to do nearly everything. J2ME (as you mention) and JEE (enterprise Java) are two chunks of it.


Ok david
I am interested in going for designing models for intelligent data retrieval and connecting resources efficiently and designing interfaces , how should i proceed with that in java also may be what are the other languages , please elaborate i am very new to this.
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
That is not enough of a problem statement for anyone to be able to help.
 
Pratik D mehta
Ranch Hand
Posts: 121
Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

David Newton wrote:That is not enough of a problem statement for anyone to be able to help.


I meant it not as a problem statement but as in i can use Java script for web designing and so forth , if you can tell me something that will be important as i get started with Java it will be of good help to understand the Java technology or may be its map.
Thank you
 
Ranch Hand
Posts: 15304
6
Mac OS X IntelliJ IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Don't really see this as a job discussion, so I moved it to a more appropriate place to discuss java and how to get started with it.
 
Deepak Bala
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Javascript and java are 2 different things. Not to be confused with one another

If you have a specific problem description in mind feel free to tell us. We can tell you which feature / library in java can solve the problem.
 
Ranch Hand
Posts: 96
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Due to the complexity of java go language was introduced !! by google............................[god knows what complexity !!]
 
Deepak Bala
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Due to the complexity of java go language was introduced !! by google.



Complexity

Well I think that point is debatable. My definition of complexity is EJB 1.0
 
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The FUD folks have been claiming that Java is "too slow" since it first came out. The reality is that the JVM has excellent optimization and for nearly all real world applications, there is no difference in execution speed. More, the argument has been used since the very first high level languages were invented in the 1950s. Assembly is too slow. Fortran is too slow. C is too slow.

Machines are cheap, engineers are expensive. Worry about the expensive parts of the system.
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
(Well, in all fairness, it *was* pretty slow when it first came out.)
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

David Newton wrote:(Well, in all fairness, it *was* pretty slow when it first came out.)



Yes, as was Fortran, ..... And even then, the point of the language was to speed up the engineers, not the hardware.

One noticeable language that started out fairly fast was the original K&R C, which maps nearly exactly to the PDP-11 assembly code. It didn't take much to write pretty good PDP-11 code. That didn't stay important long, as the Vax quickly became the machine of choice for early C implementations (see Unix). But even there, the Spac, Mips, and subsequent RISC machines made the carefully tweaked C code much less optimal than folks thought.

Software gets faster when good engineers have time to work on it. The 90/10 rule holds, 10 percent of the code is responsible for 90% of the slowness.

As always, there are exceptions, embedded systems have traditionally been more limited in resources, but even there, the trend is to wider processors (16-bits, then 32-bits) with more RAM and faster clocks.

 
author
Posts: 23951
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

While we are on the subject of slowness and hardware ... Here's my pet peeve... what the heck happened to memory speed?

Remember the days when memory kept up with the processor? When the processor loaded data from memory, it just works? Or in some cases where it didn't, the processor had to add a wait cycle -- ouch, the processor had to wait an extra cycle to load memory.

Now, when the CPU encounters a cache miss, the processor sometimes has to wait hundreds of cycles, depending on which level of cache missed. Why hasn't memory kept up with the processor?

Henry
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Memory has gotten a tiny bit faster every year. Memory density is following Moore's law, but memory speed does not.

Henry's right, a cache miss that forces the CPU to go out to main memory is deadly. This is why CPUs have ever larger caches on chip and having level 3 cache on chip is common these days. There are real engineering challenges, and ever larger caches are don't really work with lots of cores. Since modern CPUs are all 4 core, and soon to be 16, we are going to be stuck with slow memory access for a long time.

The obvious approaches, such as speculative preloading of memory, have their own problems, such as overwhelming the memory-to-CPU bandwidth.

But back On Topic, speed of Java is really not an issue any more.

There are other things that are much more reasonable things to worry about, like the ever tempting efforts to "improve" the language by adding features. I'd be happy if the language itself never changed again. Libraries, sure, but the language itself, I can live with the devil I know.
 
Pratik D mehta
Ranch Hand
Posts: 121
Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have another question -
Java runtime environment is the the Java virtual machine ?
What does java plugin do ?
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Arun Giridharan wrote:Due to the complexity of java go language was introduced !! by google............................[god knows what complexity !!]


Do you have a source which confirms this? I don't think Google came out with Go because they thought Java was too complex. I don't think Go has anything to do with Java at all.

Pratik D mehta wrote:Java runtime environment is the the Java virtual machine ?
What does java plugin do ?


The Java runtime environment = the Java virtual machine + things around it that are necessary (such as the standard library classes). The Java plugin is a plugin for web browsers, to enable them to run Java applets embedded in web pages.
 
Deepak Bala
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Do you have a source which confirms this? I don't think Google came out with Go because they thought Java was too complex. I don't think Go has anything to do with Java at all.



Its true according to javaworld. I was stumped initially too

http://www.javaworld.com/community/node/4760
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I don't see GO as related to Java at all either. Its a systems implementation language, in the spirit of C or Bliss. Its what the wizards use to write the critical tools, i.e. RDBMS, memcached, etc.

Its time to retire C and all its PDP-11/Vax baggage. GO has a shot, but new languages to replace old ones are invented every few years.
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It's related in that it was (at least partially) a reaction to the perceived complexity of Java and C++; this was posted about a week or two ago around the net. The people that invented the language are telling us it was a reaction to Java/etc.

As far as it being a "systems implementation language" thus not related to Java... I don't get that, as it seems to be a pretty high-level, dynamic-like-but-static language suitable for implementing just about anything.
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

David Newton wrote:As far as it being a "systems implementation language" thus not related to Java... I don't get that, as it seems to be a pretty high-level, dynamic-like-but-static language suitable for implementing just about anything.



The "systems implementation" wording came from the announcement presentation at googletechtalks.

They did, in that talk, discuss that the complexity of current Java (which I took to mean the language and the common libraries and the libraries you need to include to do common stuff like talking to a remote HTTP server) driving them for a simpler design.

One can argue that any language can be used for any problem. And GO is strong enough that it can be used for a lot of things. But I will argue that some languages lend themselves to specific problem domains. Java is not a good one to label, it doesn't do a lot of critical stuff that it should for a lot of business uses (i.e. where is the Currency/Money) data type? And until they hacked in the reflection support, it lacked support for a lot of the idioms that are in constant use in systems work. (returning functions to execute)

So if I was given a clean sheet requirement to implement a RDBMS (which I did in Bliss 30 years ago), I would look long and hard at go and only consider Java for the implementation.
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pat Farrell wrote:They did, in that talk, discuss that the complexity of current Java (which I took to mean the language and the common libraries and the libraries you need to include to do common stuff like talking to a remote HTTP server) driving them for a simpler design.


Most of what I see that's important in Go isn't really directed at built-in app-level functionality, but rather at typing, dependencies, OOP, GC, and multi-core.

And until they hacked in the reflection support, it lacked support for a lot of the idioms that are in constant use in systems work. (returning functions to execute)


Or use interfaces. But the word "systems" may be throwing me off, because there's no application where I don't commonly pass functions/implementation around.

So if I was given a clean sheet requirement to implement a RDBMS (which I did in Bliss 30 years ago), I would look long and hard at go and only consider Java for the implementation.


I'm not sure what you're actually saying here, that you'd only implement an RDBMS in Java? Other than Go not actually being done, what in the language would lead you to believe Java is a better choice?
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

David Newton wrote:the word "systems" may be throwing me off


The term is not used as much today as it was decades ago. I use it, as it was, to mean "systems tools" like compilers, linkers, editors, grep/find. Things used by programmers, not applications used by consumers.

David Newton wrote: that you'd only implement an RDBMS in Java? Other than Go not actually being done, what in the language would lead you to believe Java is a better choice?


I'm trying (and failing) to say that given a clean slate, I would not pick Java to implement the next great DBMS. Not today. And I would not have Java at the top of my list if I was implementing a new compiler for a new language. I think that Java would be a poor choice.

Any DBMS built today would have to be designed for huge numbers of core processors, and large numbers of servers made up of lots of those multi-core chips. I've written in many threads here on the Ranch that I don't think Java' current threading model is scalable.
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pat Farrell wrote:The term is not used as much today as it was decades ago. I use it, as it was, to mean "systems tools" like compilers, linkers, editors, grep/find. Things used by programmers, not applications used by consumers.


Okay; I assumed that was what you meant, I just didn't get the relation between function pointers and systems programming, since it's a common technique across all domains.

Any DBMS built today would have to be designed for huge numbers of core processors, and large numbers of servers made up of lots of those multi-core chips. I've written in many threads here on the Ranch that I don't think Java' current threading model is scalable.


Oh, okay.
 
Deepak Bala
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

I'm trying (and failing) to say that given a clean slate, I would not pick Java to implement the next great DBMS. Not today. And I would not have Java at the top of my list if I was implementing a new compiler for a new language. I think that Java would be a poor choice.

Any DBMS built today would have to be designed for huge numbers of core processors, and large numbers of servers made up of lots of those multi-core chips. I've written in many threads here on the Ranch that I don't think Java' current threading model is scalable.



I thought it was the other way round , that you would certainly consider java for the implementation.

As for the thread scalability thing, I believe you advocate Scala ? How would it compare to 'go' ?
 
Marshal
Posts: 79153
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Pat Farrell wrote:The FUD folks . . .

What's FUD? Does it mean this?
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yes, sorry for the abbreviation. Fear, Uncertainty, and Doubt. Its a common technique to attack an idea without actually putting any effort into the argument.
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Deepak Bala wrote:As for the thread scalability thing, I believe you advocate Scala ? How would it compare to 'go' ?


Too early for me to say, I will need to use both (not just read about them) to make a fair comparison.

From the reading I've done, go looks to be less of a leap, closer to more traditional languages. Whether that translates into a real advantage will take some real world programming. I tend to need a fair amount of time, say six months to become facile enough to talk intelligently, until then, take what I say with a grain of salt.
 
Arun C. Giridharan
Ranch Hand
Posts: 96
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Do you have a source which confirms this? I don't think Google came out with Go because they thought Java was too complex. I don't think Go has anything to do with Java at all.




On the launch of go language ......it was said go will override the complexity of java.
 
Gregg Bolinger
Ranch Hand
Posts: 15304
6
Mac OS X IntelliJ IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Arun Giridharan wrote:

Do you have a source which confirms this? I don't think Google came out with Go because they thought Java was too complex. I don't think Go has anything to do with Java at all.



On the launch of go language ......it was said go will override the complexity of java.



That doesn't necessarily imply that that is the reason for Go's creation. That's just one (arguably) feature of Go. It may very well be true but you might be reading into it a bit too much. Now, if someone show's me a quote like "Go was created because Java is too complex" then we have something to talk about.
 
Pat Farrell
Rancher
Posts: 4803
7
Mac OS X VI Editor Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Arun Giridharan wrote:On the launch of go language ......it was said go will override the complexity of java.



This is a link to the announcement:
Go announcement its on YouTube

In the very begining, the speaker uses the phrase "systems language" and "its a systems language, in the sense that we intended to be written [sic] to be used to write web servers and other, you know, systems aspects like that."

Also "its concurrent, because its really important in the modern world"

"So, although, its designed as a systems language, it has much broader use than just that.

I would like a proper citation of who said, and where we can find the quote, about the complexity of Java being a driver. I could believe it was said, but I don't see it in the announcement.
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It's in the FAQ, and in the article linked to, and in the interview the article refers to.

It's Rob Pike; he's like all famous. The link from the article:

http://infoworld.com/d/developer-world/google-executive-frustrated-java-c-complexity-375
 
Jesper de Jong
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Strange. Especially because Rob Pike says it, because he's not some management bobo who doesn't really know any technical stuff.

Java the language is not very complicated at all, and it's much simpler than C++ (which does have a lot of intricate pitfalls). I don't see the need for a language that's "simpler" than Java. If it's not the language itself he's talking about, but the ecosystem around it (with the thousands of libraries and frameworks) - that's what I regard one of the greatest strengths of Java: you can get a library or framework for anything, and you often have choice between multiple implementations.

If Go would ever become popular, then it will grow as well, new language features will be added and lots of people will be writing libraries and frameworks in it, and after a while it will be just as "complex" as Java. I see that I'm not the only one with this idea:

InfoWorld wrote:One member of the audience, Larry Augustin, the CEO of customer relationship management software provider SugarCRM, agreed with Pike's assessment that C++ and Java have gotten too complex, although he noted that this typically happens with all languages as they grow to meet a wider range of use cases.

"The reason that these languages have grown in complexity is because the more they are used, the more errors and ambiguities we've found, and the attempts to remove those ambiguities and errors have created something more complex," said Augustin, who has a background in software engineering and programming language design.

"I appreciate his goal," he said of Pike's efforts. "The question is can he achieve his target result? or does Go [become more complex] as more people use it," Augustin said.

 
Deepak Bala
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Jesper Young wrote:Strange. Especially because Rob Pike says it, because he's not some management bobo who doesn't really know any technical stuff.

Java the language is not very complicated at all, and it's much simpler than C++ (which does have a lot of intricate pitfalls). I don't see the need for a language that's "simpler" than Java. If it's not the language itself he's talking about, but the ecosystem around it (with the thousands of libraries and frameworks) - that's what I regard one of the greatest strengths of Java: you can get a library or framework for anything, and you often have choice between multiple implementations.

If Go would ever become popular, then it will grow as well, new language features will be added and lots of people will be writing libraries and frameworks in it, and after a while it will be just as "complex" as Java. I see that I'm not the only one with this idea:

InfoWorld wrote:One member of the audience, Larry Augustin, the CEO of customer relationship management software provider SugarCRM, agreed with Pike's assessment that C++ and Java have gotten too complex, although he noted that this typically happens with all languages as they grow to meet a wider range of use cases.

"The reason that these languages have grown in complexity is because the more they are used, the more errors and ambiguities we've found, and the attempts to remove those ambiguities and errors have created something more complex," said Augustin, who has a background in software engineering and programming language design.

"I appreciate his goal," he said of Pike's efforts. "The question is can he achieve his target result? or does Go [become more complex] as more people use it," Augustin said.



Pretty much mirrors my thoughts.

More choices != Complexity

Verbosity != Complexity

I was making the same C++ comparison in my head when I heard the word 'Complex'
 
David Newton
Author
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Deepak Bala wrote:Verbosity != Complexity


Depends on what you mean: verbosity is most certainly one type of complexity. The more there is to take in the more cognitive overhead there is. The more the problem is being obscured by the solution the more cognitive overhead there is.

One of Java's greatest weaknesses (to me) is that every solution looks like Java--not like the problem I'm trying to solve. This is somewhat alleviated by static imports, foreach, etc. but remains wrecked by reflection and lack of first-class functions. Workarounds require enough additional code to make the tradeoff questionable.

I spend a tremendous amount of time reading code (especially these days). Is reading C++ easier than reading Java? Of course--but I set my bar higher. Is reading Java easier than reading a higher-level language? Most emphatically not. Every program is a DSL: understanding a program mandates understanding its domain. Anything that obscures the domain is detrimental and hinders comprehension.
 
reply
    Bookmark Topic Watch Topic
  • New Topic