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
Same for his PHP examples. He seems to have picked notably horrible examples for the languages he doesn't really like.
The Best Programming Language (or How to Stop Worrying and Love the Code)
121–130 of 166 posts
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#122No mention of Lua? I guess the author hasn't tried it yet, either. (I haven't, but I was curious about his opinion on the language.)
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#123This was an excellent article. Agree with the author on many points. Some notable mentions: - Scheme: One of the best languages. A shining example of the beauty of simplicity. I personally envy folks that got to learn programming with SICP. Unfortunately, I didn't crossed with the SICP as a kid, when I would probably had devoured it. - Haskell: possibly the most advanced programming language, with the downside of hav…
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.
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#124«The first true object-oriented language. But it seems to me Smalltalk is pretty much a forgotten language.» Why do so many people kill Smalltalk so fast? I could give so many URLs to illustrate how Smalltalk has a stable and growing community, with so many open projects and people making a living out of it, teaching it in universities and using it for research, but I think these two links sum it all up: http://forum…
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,…
From what I know I think there are two ways you could go to avoid all this problems until you feel comfortable enough with Smalltalk to tackle them again. One way is GNU Smalltalk, "a Smalltalk for people who can type", which feels fairly normal to work with. You can use your editor and version control software with ease. From the look of it it has a bit less libraries and a bit smaller ecosystem and community, but it could serve you well as introductory Smalltalk.
The other way is Amber, which is a Smalltalk written in JavaScript (or maybe it self-compiles already?). It comes with a "browser" (the thing you use to explore and write code in Smalltalk) implemented as a JS app and you can play with it immediately in your (web) browser. It's also half-image, half-file based, so while it will introduce you to the concept of image based environment, you will use your favourite editor and other tools.
Smalltalk can feel very confusing at first and it is really different from what you know already. It may not be always possible to learn all of Smalltalk system (like Pharo) in one go, especially if you're working and you don't have too much free time. Going through the stages, from less-smalltalky to full Smalltalk environment may take a bit longer, but it will make it easier to learn it.
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#125Have you ever seem a simple Prolog program solving the 'four coloring problem'? Try programming that in anything else. Prolog or something similar like Lisp with pattern matching is the tool of choice for speech recognition programs. Why these tools get dismissed in a world of tablet devices using Siri or Google is beyond me.
The computation model of Prolog is fairly simple, relies on few primitive, and could be reimplemented in many language without much hassle. The abstract interpreter fits on a 1/4 page.
With unification and backtracking, you're into nondeterministic programming. It's great for some problem, and I agree it should perhaps be more regarded than it is, but it can be emulated inside other languages to solve such problems. You also have to be quite careful when using non-determinism.
That being said, my main point is that I think the "simple Prolog program solving" X is misleading. Of course a solution to a problem that requires exactly the model of computation the language provides is going to be simple in that language. But that model of computation isn't exclusive to that language, and I don't feel the implementation of the model in other languages suffer.
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#126Earlier quoted context omitted.
LINQ is a tool, and a great one. But just as you need to understand malloc when writing C, you need to understand the basics of LINQ to use it in production. The main problems I've come across are all failure to understand delayed evaluation. Maybe I'm not using it in a complex way, but as soon as it start to feel too complex, LINQ is not the way to go. I agree that it can be difficult to debug - that's why it should…
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.
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
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#127Earlier quoted context omitted.
Well isn't that a cute dilemma. You're either an idiot, which means you won't understand it and shouldn't criticize, or you're not an idiot and your lack of understanding is an effective criticism. Reminds me of Haskell. 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.
> 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…
Really, so anyone using a higher level language for line of business apps isn't doing serious commercial programming?
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#128Earlier quoted context omitted.
I completely agree. After having used C# extensively recently, and having used quite a lot of Java before that, I have a feeling that C# is what Java should have been/should be. LINQ alone makes C# infinitely less verbose and 'boilerplate' than Java.
Yeah, having done a little C#, my impression was "They aimed for 'a better Java' and mostly succeeded."
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.
Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#129Re: The Best Programming Language (or How to Stop Worrying and Love the Code)
#130Earlier quoted context omitted.
Sams Teach Yourself CPP One Hour a Day 7th and CPP Primer 5th
I think I have an older edition of that book, and it doesn't cover recursion. I would not recommend it for a novice programmer, other than picking up basic syntax, since it doesn't give anything substantial to sink your teeth into. The last C++ text that I came across was "C++ In Action: Industrial Strength Programming" by Bartosz Milewski. It was first published over a dozen years ago, so it will have dated a bit. I…