The D programming language

Started by
31 comments, last by swiftcoder 14 years, 8 months ago
Quote:Original post by Antheus
Quote:Original post by OrangyTang
And from good tool support (although maybe you grouped that under middleware).


IMHO, tool support isn't strictly needed. &#106avascript, Python and Ruby on Rails are all example of it. &#106avascript hasn't had a decent debugger for years, Python got hold in academia, where IDEs are considered blasphemy. These days, many of new languages get quick support &#111;n JVM in either NetBeans or Eclipse, so this barrier has been lowered considerably, or completely eliminated (repository and general project management).<br>...<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>Actually, Python has great tools. When it comes to IDEs, you've got Wingware's WingIDE, and ActiveState's Komodo IDE. There are undoubtedly others, but for the sake of argument, I'll stick to the familiar. They're extremely usable, and I believe python wouldn't be nearly as widespread without them.<br><br>However, if you look at something like IronPython, there's a distinct lack of a stable useful IDE, and it really hurts the adoption of the dialect. Sure, technically it isn't needed, but not everyone is a masochist who goes out of their way to make life harder by not using productive tools where available.<br>
Advertisement
Quote:Original post by Antheus
D is a dialect. So is C#, Java, C, .... They are all a family of C languages and all follow the imperative paradigm. If you know one, you know all.

All of these are basically dinosaur languages.

Today, functional languages are the brave new world and the future (Lisp people sigh deeply).
C# is a multi-paradigm language, allowing you to use some functional programming features if you so desire. [wink]

[Website] [+++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++]

Quote:Original post by OminousZounds

However, if you look at something like IronPython, there's a distinct lack of a stable useful IDE, and it really hurts the adoption of the dialect. Sure, technically it isn't needed, but not everyone is a masochist who goes out of their way to make life harder by not using productive tools where available.


I wouldn't call this a notable reason.

Python has historically been heavily supported by open source community. Obviously it will not care or advertise a version that runs the The Devil's CLR. Look what happened to recent mono inclusion in Linux distribution.

And .Net crowd is built from MSCPs, which adore the .Net, but get confused when they see Python source. It's not VB, it's not C# - what is it? And since there is no certificate in Curiosity, nobody cares to take a second look.

These two communities are incompatible. The value of .Net comes from .Net itself, not the language its used in. MS does not need Python, it needs to support too many languages as it is.

And on the other side, Python developers have long ago solved the problem of frameworks, so they have no need for .Net, let alone the licensing complications which come with it. Nor do they want it.

Two different worlds, with little need or interested to connect.

Right tool for right job. To work in MS-centric ecosystem, use the appropriate tools. Python is IMHO just not one of them, at least not for the .Net-centric development.

Quote:C# is a multi-paradigm language, allowing you to use some functional programming features if you so desire.


So is C++. So is objective C. So is Java.

Here's an idea - post this on a Lisp or Haskell board. Keep the engine running though...
Quote:Original post by Antheus
Quote:C# is a multi-paradigm language, allowing you to use some functional programming features if you so desire.


So is C++. So is objective C. So is Java.

Here's an idea - post this on a Lisp or Haskell board. Keep the engine running though...


C++, C and Java definitely do not cater to functional programming to the state that C# or even D do. They all do not have full inbuilt support for first class functions, closures nor a library of simple higher order standard functions. C neither has support for forall polymorphism.

As for Lisp, assuming you mean Common Lisp it actually feels more natural to do functional programming in C# than that Lisp. CLisp tends to not be used for functional programming. Scheme is more famous for that. A new dialect mentioned in this thread that is really functional is Clojure.

Monadic programming using Linq is a really powerful feature of C#.
Quote:Original post by OrangyTang
Quote:Original post by Antheus
Quote:Original post by OrangyTang
And from good tool support (although maybe you grouped that under middleware).


IMHO, tool support isn't strictly needed. &#106avascript, Python and Ruby on Rails are all example of it. &#106avascript hasn't had a decent debugger for years, Python got hold in academia, where IDEs are considered blasphemy. <!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br>True, you can get away without "big" tools like Eclipse and VS for languages which are looser with their types. But for strong, statically typed languages (which IMHO D falls under) you need a good IDE to be productive. Otherwise you waste huge amounts of time everytime you want to make even a trivial refactoring.<!--QUOTE--></td></tr></table></BLOCKQUOTE><!--/QUOTE--><!--ENDQUOTE--><br><br>Haskell and OCaml have much stronger type systems than C# and Java, but programmers regularly use those languages without specialized IDEs.
Quote:Original post by Captain_Thunder
Quote:Original post by OrangyTang
True, you can get away without "big" tools like Eclipse and VS for languages which are looser with their types. But for strong, statically typed languages (which IMHO D falls under) you need a good IDE to be productive. Otherwise you waste huge amounts of time everytime you want to make even a trivial refactoring.


Haskell and OCaml have much stronger type systems than C# and Java, but programmers regularly use those languages without specialized IDEs.


I suspect he was missing an "explicit" somewhere in there. Having to work with explicitly defined types (and the whole related clutter in languages like Java) is painful without an IDE.
Quote:Original post by Antheus
And since there is no certificate in Curiosity, nobody cares to take a second look.

Wow. That is one powerful, oh so true, statement. (Plus it made me literally laugh out loud.) In one sentence, Antheus has summed up ten million (?) usenet flame wars.

I have been places (newsgroups, message boards) where legitimate knowledge, techniques, whatever are presented for discussion and the participants not only have NO curiosity, they have an outright contempt for any information that hasn't been sanctified by their "tribal leaders."

I remember when being a software engineer was ALL about curiosity. "Hey let's try this and see what happens!" It's all become so corporate and bland now. Hmm, just like MS. ;-) And all the engineers are perfect little corporate drones running around with a certificate.

Can anyone still sing all the versus of the Lumberjack song? <Wink wink, nudge, nudge>.

"Asking programmers to do something without giving a reason is treating them like small children - they ought to be offended by that." - Bjarne Stroustrup
Quote:Original post by JustBoo
Quote:Original post by Antheus
And since there is no certificate in Curiosity, nobody cares to take a second look.

Wow. That is one powerful, oh so true, statement. (Plus it made me literally laugh out loud.) In one sentence, Antheus has summed up ten million (?) usenet flame wars.

I have been places (newsgroups, message boards) where legitimate knowledge, techniques, whatever are presented for discussion and the participants not only have NO curiosity, they have an outright contempt for any information that hasn't been sanctified by their "tribal leaders."

I remember when being a software engineer was ALL about curiosity. "Hey let's try this and see what happens!" It's all become so corporate and bland now. Hmm, just like MS. ;-) And all the engineers are perfect little corporate drones running around with a certificate.

Can anyone still sing all the versus of the Lumberjack song? <Wink wink, nudge, nudge>.

"Asking programmers to do something without giving a reason is treating them like small children - they ought to be offended by that." - Bjarne Stroustrup


When you are young and just starting out having curiosity and giving lots of things a try is a good thing. But the corporate world is quite a bit different now then 20 years ago. You can't have programmers going off on treks with random languages to spend millions of dollars to find out it doesn't work. You stick with the bland, tried and true methods you know will work. Everybody knows that C++ works, everybody is seeing that .NET gets more traction everyday and supports a lot of cool things. When you want to contiue to eat you use what works.
Quote:Original post by jtagge75
But the corporate world is quite a bit different now then 20 years ago. You can't have programmers going off on treks with random languages to spend millions of dollars to find out it doesn't work. You stick with the bland, tried and true methods you know will work. Everybody knows that C++ works, everybody is seeing that .NET gets more traction everyday and supports a lot of cool things. When you want to contiue to eat you use what works.
Except it doesn't actually work that way. Look at all the companies out there using/developing/supporting 'hip' languages: Yahoo and LISP, Google and Python, Microsoft and F#. Now admittedly, all of those are big companies, and can well afford to futz around with strange languages, but at least in the cases of Google and Yahoo, they used these languages to build a huge chunk of their infrastructure.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Quote:Original post by swiftcoder
at least in the cases of [..] Yahoo, they used these languages to build a huge chunk of their infrastructure.

Um yeah, and then they rebuild it in C++. [smile]

This topic is closed to new replies.

Advertisement