March 24, 2006 Re: D vs Java | ||||
---|---|---|---|---|
| ||||
Posted in reply to Niko Korhonen | Niko Korhonen skrev:
> Georg Wrede wrote:
>> (Walter,) anytime somebody doubts D as a superior Academic Language, have them talk with me.
>>
>> Another thing, if we can get D popular in the academia, both research and teaching will gain a lot. And as an aside, 5 years after that, who'll ever want to do programming in any other language???
>
> Don't you think some high-level language of declarative nature such as Scheme, Haskell, Ruby or Python (or even Boo, O'Caml or Scala for that matter) would serve better as a first language?
>
> Scheme and Haskell really concentrate on expressing computational problems in their own domain, hence reputed as "executable specification".
>
> Even though D is very nice it really can't compete in "high-levelness" with the aforementioned languages. I personally see D more as a professional's tool for building real-life software as academic research language.
>
> As a side note, unfortunately none of the academic research languages are used widely for building real-life software, although they are *designed* to allow easy expression of computational ideas, i.e. to be easy to use. I for one would be extremely happy of getting a chance of using something like Haskell at work. Come to think of it, I would be extremely happy to use D.
>
> For some reason IT industry is both extremely sadistic and masochistic by insisting it's workers to use the worst languages available (C++) for all work (especially if the language doesn't suit the problem domain at all), constantly doing huge layoffs, offshoring and delivering products so bad and faulty that any traditional industry would be out of business on the first day.
>
If one should take the full step with D (Although a bit too late now), one should not have chosen the Simula school of OOP but the Smalltalk OOP school.
D is super nice, and I love it. But if I take a step back and look at it, it really is barely more than C++ with a better syntax, and a few goodies thrown in for good measure. It is not like it allows for anything radically new and better, just the same old in a better package and with more convenience.
As D never aimed for compatibility with C++ classes, there never was a need for following that trail. Stuff like dynamic typing, runtime access to the class system, really do makes a difference.
The Objective-C solution is truly nice, anyone who have coded in OpenSTEP or Cocoa can agree that the difference in implementation allows for some really great and productive stuff. Unfortunately Objective-C is ugly as sin :). But I see no reason why someone could not make a language with C-like syntax that follows the Smalltalk paradigms. Heck, for novices and most everyday use no one would know the difference :)
// Fredrik
|
March 24, 2006 Re: D vs Java | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly wrote: > Georg Wrede wrote: >> Bruno Medeiros wrote: >> >>> Frankly I really don't see D as much better/simpler than Java for >>> the purposes of a first language. >> >> This might sound offending, condescending, patronising and whatever, but: >> >> Learning to program (in school/university, vs. on your own) does contain issues one never notices. The choice of language, the "scene" at the time, the predicted future of the students (and of course what they never tell you: access to knowledgeable teachers in the various choices), all do play a role. The faculty (hopefully) makes a choice genuinely based _only_ on their combined >> experience which (in the best case) might today be like n * 30 years, n being the number of professors participating in the decision. > > Oddly, this topic came up at SDWest as well--someone asked Bjarne how > he felt about universities switching from C++ to Java as a teaching language. He said that this change often coincided with a general "watering down" of the curriculum (to something more suitable for a BA program, I assume), IMHO, it's to do with increasing pressure for "efficiency". Unfortunately, even universities are facing this to an ever increasing degree. As such, I think it is good. But the problem is, politicians never bother to really get into _what_ efficiency is, so it becomes something shallow, like graduates per dollar, graduates per year, etc. What it should be, is more like "what serves the nation (or even mankind) best". And that certainly is not "watering down curricula" to get more folks "graduated" faster and cheaper. (Been there, done that. And I'm ashamed.) If (e.g.) doubling dollars per graduate (while, say, keeping graduation time constant) returns even 10% more output during the graduate's professional life, then I think the nation is a winner, no question. But try telling that to the politicians! > but that aside... he said that recently there's been a push from the industry to re-instate C++ as a teaching language I can understand this. Suppose I had to find 10 top-notch programmers for a demanding project with a deadline. (And to make the point clearer, it would be written neither in Java nor C++.) On my desk I have the applicatons of 20 top of the line CS graduates, half with honors in Java, half with honors in C++. No question I choose the latter. Learning Java is so easy that a mediocre person can easily achieve honors in it. It's just a matter of hard and motivated work. But getting honors in C++ is way different. To get that, one has to have fought the idiotic error messages, mastered all kinds of pointer gotchas, never gotten scared of mounds of intellectually challenging (and still useless) trivial obstacles, thoroughly understood (the existence of, and properties of) the Computer Abstraction of C and C++, etc. And have repeatedly found productive ways of expressing oneself to the compiler and computer -- in spite of the language itself! By that time, you're a Real Programmer Candidate. > because it's used far more broadly than Java and companies wanted graduates to have experience in the language they were likely to use professionally. Half of that is true. The unstated part is, it's way easier to teach Java to C++ programmers than the other way around, should the need arise. Heh, mastering C++ should actually be considered a rite of passage. (Even after D takes over the world!) > Apparently, Texas A&M just switched from Java back to C++, though there's no saying whether this has anything to do with Bjarne teaching there. :-) >> Back to Philosoply, Law, or theoretical Physics, these folks need some rigor to their thinking. Early on. And such rigor is very hard >> to teach without a tool that only accepts correct thinking and punishes you for anything vague. (Rigor being just another tool in >> their chest, by no means the master.) > > I like that you group Philosophy in with Theoretical Physics. Most people seem to think Philosophers are all either goofballs with their > heads in the clouds or clueless name-droppers. When I had to choose university, my opinion on Philosophers was _literally_ "goofballs with their heads in the clouds or clueless name-droppers"! Too bad. In hindsight, I should've chosen it. |
March 24, 2006 Re: D vs Java | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | Georg Wrede wrote: > Sean Kelly wrote: > > If (e.g.) doubling dollars per graduate (while, say, keeping graduation > time constant) returns even 10% more output during the graduate's > professional life, then I think the nation is a winner, no question. But > try telling that to the politicians! True. It's pretty much futile to mention long-term benefit to the bean counters. Though they do like to insist they should have been informed once things go wrong ;-) >> but that aside... he said that recently there's been a push from the industry to re-instate C++ as a teaching language > > I can understand this. Suppose I had to find 10 top-notch programmers > for a demanding project with a deadline. (And to make the point clearer, > it would be written neither in Java nor C++.) On my desk I have the > applicatons of 20 top of the line CS graduates, half with honors in > Java, half with honors in C++. No question I choose the latter. Same here. I also very much like to see indications that people are interested in the discipline beyond its use as a means to a paycheck, as it often means the difference between someone who will continue to improve over time and someone who won't. > Learning Java is so easy that a mediocre person can easily achieve > honors in it. It's just a matter of hard and motivated work. But getting > honors in C++ is way different. To get that, one has to have fought the > idiotic error messages, mastered all kinds of pointer gotchas, never > gotten scared of mounds of intellectually challenging (and still useless) trivial obstacles, thoroughly understood (the existence of, > and properties of) the Computer Abstraction of C and C++, etc. And have > repeatedly found productive ways of expressing oneself to the compiler > and computer -- in spite of the language itself! By that time, you're a > Real Programmer Candidate. A while back I went looking for an up-to-date book on assembly programming and was surprised and disappointed to find that the only decent book--"The Art of Assembly Language"--deals almost exclusively with HLA (high-level assembly, a C-like language) because students apparently found learning actual assembly to be too difficult. I feel very strongly that such compromises do the students a tremendous disservice and I sometimes wonder if we're producing a generation of Comp. Sci. graduates who haven't been taught much beyond some common data structure designs and the elementary use of a high-level language or two. I know that education is largely what you make of it, but I'd prefer that universities teach subjects more deeply and produce fewer graduates than gloss over the details and graduate hordes of ignoramuses. >> because it's used far more broadly than Java and companies wanted graduates to have experience in the language they were likely to use professionally. > > Half of that is true. The unstated part is, it's way easier to teach > Java to C++ programmers than the other way around, should the need arise. True enough. > When I had to choose university, my opinion on Philosophers was > _literally_ "goofballs with their heads in the clouds or clueless > name-droppers"! Too bad. In hindsight, I should've chosen it. I felt much the same until I took a Philosophy course to fulfill a distributional requirement and was lucky enough to have a fantastic teacher. And it is a fairly accurate stereotype regardless of the underlying material :-) Sean |
Copyright © 1999-2021 by the D Language Foundation