Easiest coding language?

Started by
24 comments, last by JohnnyCode 9 years, 4 months ago
Some languages are great for beginners learning how to program, but bad for teams of developers trying to maintain large projects.

Dynamic typing is one of those things that is great for beginners, small projects, and single-programmer teams. Once you start dealing with non-trivial projects and large teams, static typing becomes much more important because it DRAMATICALLY increases the reliability and ease of maintaining a codebase.
Advertisement

To Serapth

From Lua's Wiki: Lua is crap!

"Lua is a tiny and simple language, partly because it does not try to do what C is already good for, such as sheer performance, low-level operations, or interface with third-party software. Lua relies on C for those tasks. What Lua does offer is what C is not good for: a good distance from the hardware, dynamic structures, no redundancies, ease of testing and debugging. For that, Lua has a safe environment, automatic memory management, and great facility to handle strings and other kinds of data with dynamic size."

In this modern age, battery life is just as important as absolute performance.

To Serapth

From Lua's Wiki: Lua is crap!

"Lua is a tiny and simple language, partly because it does not try to do what C is already good for, such as sheer performance, low-level operations, or interface with third-party software. Lua relies on C for those tasks. What Lua does offer is what C is not good for: a good distance from the hardware, dynamic structures, no redundancies, ease of testing and debugging. For that, Lua has a safe environment, automatic memory management, and great facility to handle strings and other kinds of data with dynamic size."

In this modern age, battery life is just as important as absolute performance.


Of course, all features come with a price tag, this is certainly true of ease of use.

That said, we aren't talking about performance or battery life ( granted, they are often very similar ), we are talking about ease of use. I am by no means calling Lua the greatest or best language, simply the easiest, within the defined terms.

If you ever meet someone that proclaims one language as superior in every way, congratulations, you've met an idiot. Sadly, the world is full of them.

I don't think anyone's recommending that OP starts with Lua and never moves on, or to try and create complete software in Lua alone.

Lua is a nice start because of the reasons Serapth mentions that make it a good language in which to learn programming concepts. When one is ready to move on to a more production-ready language, Lua skills remain valuable because its a popular scripting language in all kinds of software but in games especially. LuaBind makes it relatively easy to write your game's core low-level logic in C++ for things like performance and battery life, but to script high-level game behaviors in Lua for its ease of use and better productivity.

Lua is a perfectly reasonable start, as would be C#, or Java (as much as I dislike the language myself), or JavaScript -- all of which remain useful skills even if one changes gears. C and even C++ are not bad choices, provided you are willing to take things slowly and deal with a certain amount of non-trivial trivia.

The easiest language to learn is whatever is easiest now -- there is no requirement beyond that, not even that it is suitable itself for production work.

Anyways, every programmer learns and throws away knowledge of several programming languages over their career, but it does not mean that time was wasted because they were a necessary stepping stone or maybe just an interesting exercise. Of the first 4-5 languages I learned and used (4 BASIC variants, and C), I never use BASIC of any flavor these days and use vanilla C only rarely, on top of that I've learned and played with a dozen or more languages just to see what was interesting about them and stretch my brain a bit (Haskell, Scala, Lisp, SQL, D, etc.), and I've written code in a few flavors of assembly over the years (z80, 6502, ARMv4, x86) -- I use today maybe 10% of the languages I've non-trivially-used over all my years, namely C++ (and a little bit of vannilla C), C#, and JavaScript. Even now I've got my eye on Rust, eagerly awaiting its stable 1.0 release scheduled for January.

throw table_exception("(? ???)? ? ???");

Off topic, would Rust be a good language to pick up? I am looking to learn more languages apart from C++, Java and C#.

Off topic, would Rust be a good language to pick up? I am looking to learn more languages apart from C++, Java and C#.

For practical real world use...?

No, not really, at least, not yet.

Honestly I started with C++ then I went to C# out of curiosity and I definitly think its easier.

Then when you are decent at C# (no need to be really good), you can do games on Unity which, at least to me, was very motivating.

I did that and now I am back on C++ but I still use C#.

For practical real world use...?



No, not really, at least, not yet


But soon, if you're so inclined. The plan is that they will release version 1.0 of Rust in January, at which time the language will be 'stable' -- it will continue to grow and evolve, but things that are stable in 1.0 won't disappear or be radically changed thereafter like they might have been in the early days of the language.

IMO, Rust is interesting, and because its got the backing of Mozilla and because they're already writing their next-generation webkit competitor in it, its not going to be just another academic exercise.

That said, its aimed at the same domain as C++ and while there are many important differences between them they are not the kind of radical differences you would experience in a functional or dynamically-typed language, so it might not be that fruitful as an exercise in expanding your brain -- one would be most interested in Rust if they were looking for a safer and less cumbersome alternative to C or C++.

throw table_exception("(? ???)? ? ???");

Thanks for the info. That's what I expected - a more "elegant" version of C++. I'll have functional programming next year anyways, so I won't be missing out on it.

For me to leave the impression that its just a more elegant version of C++ is certainly selling it short. It does a lot differently than C++, different concepts and models for things, and a few tricks of its own. For example, one rather neat thing about it is that a defined subset of the language can execute on bare metal with no runtime support and you can compile against this subset, so its suitable for embedded systems but also higher-level than C -- I intend to do some bare-metal programming in Rust next year, either on the Raspberry Pi, Nintendo DS, or GBA, just for kicks. Anyway, when I said it was an safer and less cumbersome alternative to C++, I meant that its focussed on safety and is a more-coherent language than C++ is, but it serves mainly the same domain and you're programming at roughly the same level of abstraction with a procedural language -- but it is a very different language than C++, not a direct derivitive; its much further removed from C++ than, say, D, C#, or Java.

Anyways, I'll stop derailing the thread now :) If anyone wants to continue this thread of discussion, PM me, or start a new thread and PM me the link.

throw table_exception("(? ???)? ? ???");

This topic is closed to new replies.

Advertisement