Linked by RandomGuy on Wed 10th Jun 2009 20:00 UTC
General Development This series is aimed at programming language aficionados. There's a lot of very abstract writing about programming languages and a lot of simple minded "language X sux!" style blog posts by people who know next to nothing about programming. What I feel is sorely missing is a kind of article that deliberately sacrifices the last 10% of precision that make the theoretical articles dry and long winded but still makes a point and discusses the various trade offs involved. This series is meant to fill that void and hopefully start a lot of discussions that are more enlightening than the articles themselves. I will point out some parallels in different parts of computing that I haven't seen mentioned as well as analyze some well known rules of thumb and link to interesting blogs and articles.
Thread beginning with comment 367819
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Topics for Future Articles
by sergio on Wed 10th Jun 2009 23:31 UTC in reply to "Topics for Future Articles"
sergio
Member since:
2005-07-06

"Adding features" is THE problem... that's why C++, C#, Perl, etc sucks.

Programming languages MUST be simple and straightforward (like C and classic Java). If you want features write a library, don't mess with the language.

Reply Parent Score: 1

RandomGuy Member since:
2006-07-30

Well, yes and no.
Adding features _later_on_ makes debugging a nightmare.
That's the problem with extending languages which is otherwise a very smart evolutionary path - just see the success of C++.
Having features in the language right from the start that noobs don't use is something entirely different.

Ideally you would put as much as possible into libraries. Google for "growing a language", you might like it.

Now as for making static languages more dynamic:
I think adding optional static typing to dynamic languages is a better approach IF - and this is critical - IF you have coding guidelines in place and enforced. That's the short answer, the long one is in an article a few weeks down the road.

Reply Parent Score: 2

arbour42 Member since:
2005-07-06

you wrote: "Now as for making static languages more dynamic: I think adding optional static typing to dynamic languages is a better approach IF - and this is critical - IF you have coding guidelines in place and enforced. That's the short answer, the long one is in an article a few weeks down the road."

So just like Perl 6 is doing now, adding optional static typing. I think the Parrot open-source "Common Language Runtime" and Perl 6 will be huge in about 2-3 years time. I'd be interested in that article.

I'll check out "growing a language." You have a good idea for the article, but just need to tighten it up a bit - it tended to meander. Sorry to be critical, but i double-majored in Poetry, and can be a bit anal sometime :-)

Reply Parent Score: 1

vivainio Member since:
2008-12-26

"Adding features" is THE problem... that's why C++, C#, Perl, etc sucks.


That's Java propaganda.

Plethora of features of C++ was never a problem with C++. The problem was the crappy standard library, and manual memory management.

C++ is pretty good these days (Qt is free!), and with next C++ standard we will get new *features* which will make C++ better (i.e. reduce the verbosity of C++ programs, and make hacking it more fun).

These days I see a market for two languages: C++ and Python. With those, you've covered pretty much everything and you can just ignore the middle-goers like Java or C#, and the restricted & "manual" world of C.

Reply Parent Score: 2