Live data from Hacker News

The Best Programming Language (or How to Stop Worrying and Love the Code)

blog.fourthbit.com

141–150 of 166 posts

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#141

Earlier quoted context omitted.

Well, just from my noob point of view, every time I've dug in and tried to get into Smalltalk, I've found the language to be really really nice, but I've found the ecosystem to be really really confusing. The concept of needing a development environment and a persistent image (probably not even using the right terms...) just doesn't click with me. I struggle to figure out where to put things, or how to use my editor,…

Sounds like you are not "ready" for Pharo yet. The problem with Pharo is that, as I said in the comment below, it's all in one package - it has built-in editor, built-in version control and package system, file manager, and generally built-in tools for almost everything. Image-basedness is also a big difference, it's a powerful concept, but it can be hard to really grok and use it effectively. From what I know I thin…

Neat, thanks a lot for the run-down!

Getting back to the thread-starter: Why do so many people kill Smalltalk so fast? After reading your comment, my answer to that question is: because doing it The Right Way entails learning a lot more than just the programming language itself, and it isn't clear (to me) what motivates those things.

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#142
It's a bit sad that we keep reading these articles and keep falling into the same trap of rush-to-defend-your-favorite-language and rush-to-complain-that-your-favorite-language-was-omitted. I find these articles seldom thought-provoking and the comments they inspire even less so. It's like reading "10 best ski runs in the country" or something. It's entirely subjective and hardly anyone will agree for any decent set of reasons.

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#143

Earlier quoted context omitted.

Mostly? There are very few things Java does better as a language, and most of those are opinion, not outright better. My biggest interest in .Net/CLI/Mono from very early on was how much easier it was to interface with systems libraries vs. Java's JNI.

Given the large surface areas of each, I'd be astounded if there were zero points on which Java is genuinely superior. I don't recall either well enough to give any specifics.

Viable production-ready implementations existing on all major server platforms (without having to jettison favorite libraries here and there), is a pretty big one, but I guess that might go without saying (or maybe outside the scope of "language" proper - but that's the elephant in the room).

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#144

Earlier quoted context omitted.

Haskell too much syntax? That's a very weird claim. Haskell's syntax is one of the leanest around. You could even argue the lack of syntax can be confusing sometimes. Beginners often mix up types, patterns and expressions, because there isn't a huge syntactic difference.

Yeah, that surprised me as well. There are declarations of types and classes etc which are a bit confusing at first, and then there are `do` and `case` and the like. Certainly not a lot though, compared to say C++ or Scala. I think what might make it appear more difficult is that it's just so different from almost anything else out there, so it's not just that there's a bit of new syntax to learn, but that almost not…

That is more or less what I mean by Haskell having too much syntax. Let me start by saying that I am far from an expert, and I am just expressing a subjective opinion. I would welcome if anyone shows me that I am wrong. Haskell is a brilliant language. Yet I have this personal and completely subjective opinion. When using Haskell, I get the feeling that the different syntax constructs, just don't fit too well conceptually among them.

The language on the whole is far superior to most others. Yet the syntax constructs don't feel to fit elegantly to me. It is not just that purely functional is a completely different paradigm. It is that the actual implementation lacks a global conceptual elegance. I am going to give an actual example: Take pattern matching. That is a nice conceptual idea. You can pattern match in function, and it is great. But then, you can also pattern match in list comprehensions. So patter matching can be combined in two completely different operations. This does not feel elegant, it feels awkward. It is not very obvious where pattern matching can or can not be used. Haskell is full of things like this.

This lack of overall elegance, makes it harder to mentally handle and become agile with the language. It takes more effort, so it feels that the it has a substantial cognitive overload. Maybe this is completely fine, and is required for the benefits of purely functional programming. Or maybe there could be a different, more elegant implementation of a purely functional language.

Or maybe I'm just biased by a lack of extensive experience with dozens of languages. As a fun note, let me add that as a side project, I am currently at work on a programming language, that address these things that I see as problems. It is not a purely functional language that aims to compete with Haskell, but it happens to address the issue of lack of overall elegance, that I am describing here. I currently have a conceptual design for a type system that specifically aims for conceptual elegance within the whole language. Also it happens that this language will be a graphical language, instead of text based. At worst it will be a great learning exercise for me. I hope that it at least end being an interesting curiosity.

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#145
post #126

Earlier quoted context omitted.

What are the best resources for really grokking LINQ in depth? I'm not too impressed with the level of depth in the main LINQ section on MSDN - it seems (sensibly) more focused on how to use it than on how it works.

One of the best ways of understanding something is to implement it yourself. To that end Jon Skeet has already documented how to do it in his Edulinq series[0][1]. [0] Link to series: http://msmvps.com/blogs/jon_skeet/archive/tags/Edulinq/defau... [1] Download of series (found in link): https://code.google.com/p/edulinq/downloads/list

Woah! That's exactly the type of thing I was looking for. Looks like a great series.

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#146

Earlier quoted context omitted.

i guess maybe now is a good time to repeat this request - does anyone know of a good, recent book that describes how to write correct, modern c++ using the latest standards and staying with the subset of the language that expert users recognise as elegant and powerful?

I always recommend Effective C++ by Scott Meyers. It does not cover C++11 but is still relevant to anyone wanting to learn the good c++.

[deleted]

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#147
People should first decide what they want to achieve, produce mobile, web, or desktop applications, etc.

Then they should find the best framework to achieve their goals. The language is usually force upon you by the framework unless you're working on something cutting-edge.

In the past, when I set out to learn a programming language, I would always get nowhere. You learn the syntax from some book, do the exercises, then what? Without a solid goal to hack toward, pretty soon, you will forget everything you've just learned.

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#149

Earlier quoted context omitted.

> Personally, I'm of the view that the planet is populated by humans, and you have to work with them, and C++'s arcane tome of a standard is perhaps a hostile environment for such creatures. I don't know, everybody who's doing serious commercial programming seems to doing OK with C++, for stuff from Photoshop to Premiere, and from MS Office to AAA games and super stable and fast multimedia apps, like Cubase, Studio O…

> everybody who's doing serious commercial programming ... Really, so anyone using a higher level language for line of business apps isn't doing serious commercial programming?

>Really, so anyone using a higher level language for line of business apps isn't doing serious commercial programming?

Well, IMNSHO business apps (I take it you mean "enterprise apps") are not the epitome of programming, much less serious programming. Especially in-house apps.

But it should be obvious from my description that with "commercial programming" I meant the end user market, and things people used to buy in a box or (now) download to run on their Desktop. Not, say, some IBM Java based toolset for the enterprise.

So stuff like MS Office (or LibreOffice), multimedia apps such as Premiere, Photoshop, Avid, Cubase, all modern browsers, AAA games, etc etc.

Re: The Best Programming Language (or How to Stop Worrying and Love the Code)

#150
post #12

Based on the code snippet, I'm not surprised he thinks C# is "verbose" with "lots of boilerplate" and "resembles Java", because the snippet is written as if it WAS Java, or at least written 10 years ago. Compare his GetFrequencies implementation with idiomatic, LINQ version: http://pastie.org/8834650

If you wanted to make a version with a live UI that's monitoring a stream instead of a file, I suggest Reactive Extensions. It adds support for IObservable, the stream version of IEnumerable (what LINQ is used against). Once you get your head around it, there is magic to be made. I think a bunch of Reactive Extensions is now bundled with .Net. It is produced by Microsoft.

http://rxwiki.wikidot.com/101samples - A cursory look; it goes far deeper than this.

Post reply on HN