Advertisement

What Are Your Opinions About Various Languages ?

Started by February 22, 2014 07:51 AM
16 comments, last by jbadams 10 years, 6 months ago

We have seen posts about the things you hate about programming languages, and the things you love about programming languages, but we have not had a post like this yet.

What are your personal opinions (based on your own experience) about different programming languages you have used?

Here are some of my "IMHO" -

Python

Great learning tool for beginner programmers. Completely worthless with out third party addons (which often times are badly documented)

LSL

Syntax just like if you ripped out "implements" from Java, and turned it into it's own language. Really frustrating having the same function used as a return type for so many different calls !!! Boolean nightmare to get this language to work right.

AWCode

Very obscure language that is quite helpful in 3D space, but completely useless anywhere else

JavaScript

I very rarely use it, as I find PHP more helpful when doing web sites. Even when doing <canvas> functions, I end up with PHP spitting out JavaScript code.

PHP

Best web development language I have ever used. Easy language, and very versatile. Also over 80% of all sites on the web use PHP

Java

Best language for developing "everyday" applications, and 2D games. Runs on almost every computer. Excellent native libraries with all the programming tools I need.

C++

Good language for "process intensive" programs, however is overkill for what a lot of folks use it for. Painfully slow to develop with. Language structure makes it very easy to write "spaghetti code". A nightmare to debug.

FORTH

I ran across this language in a MineCraft mod. Why do people still use something this outdated ?!

Lua

It's a boring scripting language. Feels like some one rewrote Python with a few minor language changes.

Ruby

A train wreck of syntax. It is weird to use, as I feel like it's a mix of Python, PHP, and C++ that was thrown into a blender. I think this language would have died out long ago if it wasn't for Rails .

C#

This language feels like a complete mess - often times being counterintuitive

I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me.

~ Ralph Waldo Emerson

PHP

Best web development language I have ever used. Easy language, and very versatile. Also over 80% of all sites on the web use PHP

You should check out node.js. The ease of use of JS with powerful libraries for every known API. Also sites use PHP because they're programmed ad hoc which is basically PHP's strong suit.

Java

Best language for developing "everyday" applications, and 2D games. Runs on almost every computer. Excellent native libraries with all the programming tools I need.

Maybe in 1990s or before 2006. There's just so many easier choices. It has a learning curve, but C# and WPF is probably one of the most elegant followed by ExtJS in my limited experience.

C#

This language feels like a complete mess - often times being counterintuitive

You can't just leave it at that. What is unintuitive about C#? It's mostly just the best parts of C++ and Java combined into a language.

I already listed my personal opinions in the other thread.

Advertisement

FORTH
I ran across this language in a MineCraft mod. Why do people still use something this outdated ?!

i don't really know about FORTH but is it worse than BASIC (not vb)?
go FORTH and program :)

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

I'll add a few exotic ones to the mix ;)

Haskell

No state, no variable assignment, purely functional (almost). But somehow it feels like in an ivory tower. You can do some very complex stuff with a few lines, but on the other hand, some rather simple io tasks quickly become rather contrived. For computational stuff it's heaven, for IO stuff, it's hell.

Scheme

Lego blocks! You can do everything you want with it and combine it in all possible ways. Like chess, the basics are simple, mastering it can take a lifetime. It's funny, interesting, deep. The code could do anything, including rewriting itself, which is somehow frightening too!

HaXe

In my humble opinion, the best I've seen! Actually, it's the only language I've experienced so far that I'm totally satisfied with. It's simple, flexible, intuitive and basically has what you need. The only downside is that the community, tools and libs are rather limited.

A bit tongue in cheek -
Python
Great learning environment for beginners, and allows veterans to write very clean, concise and expressive code. Not usable in multi-core environments.
JavaScript
You're working in a web-browser and don't have a choice.
It's actually a very interesting language that gets a bad reputation because there's just so many tutorials available for it, with 99% of them teaching you bad ways of using the language.
PHP
One of the most inconsistent languages ever. Has a huge standard library (basically containing every good open-source C library), but the conventions and styles used by each part are completely different. Had a long evolution from a HTML generator into a fully-fledged general purpose language, with a lot of deprecation and strangely implemented features along the way.
Nonetheless, extremely useful for writing all sorts of applications that will run on almost any webserver ever.
C++
Too dangerous and low-level for most applications, but is the defacto standard for "systems programming" tasks.
C
For use on platforms where the compilers haven't been updated for over 10 years, so C++ isn't supported laugh.png
Insanely useful for reusable code, because the ABI is actually standardized (unlike C++). Almost every other language is compatible with C, making C an obvious choice for writing low-level systems/components for other languages. Often used to glue together different systems.
Java
Supposedly a C++ replacement, with a WORA implementation.
Actually a complete abomination, written by OO obsessives who didn't actually understand OO at all, and thus corrupted a generation of programmers with a perversion of OO.
C#
Java done right.
Also contains enough additions now where it can potentially be used for low-level systems programming tasks where C/C++ would normally reign.
Lua
Great minimalist extension language. If you want to embed a VM into something, then Lua is a great choice for it's focus on being easy to embed (partly due to it being implemented as a C library with a simple API). It also has good performance for an interpreted language, and has good JIT support across different platforms.
Very flexible in it's use due to being multi-paradigm -- doesn't come with OOP support, but is flexible enough that you can implement the core OOP constructs, such as classes!
As with python - Great learning environment for beginners, and allows veterans to write very clean, concise and expressive code.
ISPC
A great C derivative focussed on extracting SIMD performance.
HLSL
It runs on GPUs. Nuff said.
If there were a CPU compiler, I'd use if for general purpose tasks too tongue.png
SQL
You're talking to a database. Good for even non-database guys to learn, just to get away from the imperative style for a while.

Sorry, but some of your statements just miss really. Yes, I know it's just opinion, but just so other readers won't be misled:

JavaScript

I very rarely use it, as I find PHP more helpful when doing web sites. Even when doing <canvas> functions, I end up with PHP spitting out JavaScript code.

PHP spitting out Javascript Code!? Code Smell right there. JS is pretty powerful, and with Node.JS on the rise...

PHP

Best web development language I have ever used. Easy language, and very versatile. Also over 80% of all sites on the web use PHP

Ah, PHP, the inconsistent naming schemes, the fractal of bad design, the incredibly verbose function names ( mysql_real_escape_string), and this picture:

http://www.codinghorror.com/.a/6a0120a85dcdae970b017742d249d5970d-800wi

Java

Best language for developing "everyday" applications, and 2D games. Runs on almost every computer. Excellent native libraries with all the programming tools I need.

C#

This language feels like a complete mess - often times being counterintuitive

Jeff Atwood, co-founder of SO:

It is thanks to Anders' expert guidance that .NET started out such a remarkably well designed language – literally what Java should have been on every conceivable level

Where C# can stand for .NET in this context.

Advertisement

PHP

Best web development language I have ever used. Easy language, and very versatile. Also over 80% of all sites on the web use PHP

Lua

It's a boring scripting language. Feels like some one rewrote Python with a few minor language changes.

C#

This language feels like a complete mess - often times being counterintuitive

Sorry, but I just can't take you post seriously. PHP is an absolute trainwreck, and I'm scared that you don't see why. (If you don't, take a look at this: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/)

Lua is indeed quite a plain language without batteries included and somewhat too BASIC like syntax. But comparing it to Python? Okay, it's a dynamic programming language with functions as first class objects and all that stuff, but it is quite different from Python, not just a few minor changes.

And about C#. How can you call C# a complete mess and say that Java is good for everyday use. Java is a great language, don't get me wrong. But once I learned and became fluent in C++, I started noticing how much code you must write in Java to produce the same thing in a couple of lines in C++ or C#.

I see C# as Java with all its bad things removed, it is much more clean than Java while retaining the "feel" of Java (in a good way). The shitty thing about C# is that it has almost no third party libraries and sucks for game development if you don't want to use XNA (which is one of the best frameworks ever made, but it's not cross platform, and monogame is still in its early phases).

To give an example of where C# is way better and cleaner than Java, take a look at this: http://nancyfx.org

It's like you can rebuild a language's internals without using shitty solutions like reflection. I mean, you can get a web server going with just 5 lines. In Java, even if everything was so batteries included as this, you would still need to write much, much more code than that.

EDIT:


Java
Supposedly a C++ replacement, with a WORA implementation.
Actually a complete abomination, written by OO obsessives who didn't actually understand OO at all, and thus corrupted a generation of programmers with a perversion of OO.

Like Hodgman said, Java is too obsessed with OO, I totally forgot about that. I'm guilty of it too, where others would have just put a global variable in a namespace, I need to find an OO solution that is totally unneeded. After some thinking I almost always go with global variables for little objects and service locators for big objects that are used many times. Singletons and all that crap is the root of all evil when designing a program.

I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself "Dijkstra would not have liked this", well, that would be enough immortality for me.

-Edsger Wybe Dijkstra

Sorry, but I just can't take you post seriously. PHP is an absolute trainwreck, and I'm scared that you don't see why. (If you don't, take a look at this: http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

+1
That's the one. Everything is bad in the toolbox, yet the carpenters still use it till someone tries to open the door and it falls down.
Are they afraid of change?

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

To add one other language to the list: D.

I've done no big projects using D because the lag of libraries, but for the rest I like the language. It's like C++ improved, just like C#, but runs on all platforms natively... Can't anyone create a XNA port? :)

. . . Can't anyone create a XNA port? :)


that anyone can be you :)

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

This topic is closed to new replies.

Advertisement