Contact Info / Websites

All programming languages suck except Pascal.

2009-07-29 20:29:21 by ShmenonPie

Really, they all do.

OK, take, for example, Actionscript. It's horribly inconsistent. Some things are lowercase, some things are UPPERCASE, some things are Titlecase, and there's really little sense as to why some things get capitals and others don't, such as Key.LEFT. Why is Key in titlecase and LEFT in upper? Who can say.

Then there's C. Oh, C. The only reason people use C is because there are lots of code snippets and help to use. If there weren't already the install base for C, I doubt if anyone would use it. It's truly awful. There are so many pitfalls and memory leak issues. Yes, only if you write bad code, but my point is that it's so easy to write bad code with C. Even programmers who have been using C for years can't write simple code without serious bugs appearing left, right and centre.

Then we have other scripting languages like Python and Ruby. Well, the flaw here is pretty obvious - users have to have a runtime installed to use anything written with them! Which average Joe user wants to have to install a runtime separately just to have his program work? There are also serious problems for programmers with scripting languages. As scripting language based applications are, without any real choice, open source, they are open to theft very easily, much more than compiled programs, so programmers will be cheated out of their money, making scripting languages pretty much dead to the career programmer.

Then there are the semicompiled languages like Java and C#. They offer a little more protection against piracy and theft than the scripting languages, but they're bulky and slow. Java is in its sixth version, update 13, as there are always security issues that need fixing, and who's job is that? Sun Microsystems, and until they get their shit together and fix a bug, there's nothing the developer can really do. In addition to this, languages like Java and C# are much slower when run, making complicated tasks almost impossible. For example, in a chess program, a computer would take far, far longer (many seconds) to calculate the entire next 8 moves possible if written in C# than in Pascal, making the game of chess long winded, boring and fractured while the player waits for the bytecode to be translated into machine code. Not exactly ideal.

Well, what's so great about Pascal? It compiles almost anywhere, thanks to the Free Pascal Compiler, it's so simple to understand that it's almost made comments redundant, and it's very easy to learn. Many think Pascal is just a teaching language, but it's much, much more than that. Anything that C or C++ can do, Pascal can do, and probably with more legible and less code. The only problem is that there aren't as many libraries and snippets available for Pascal, because it's been ignored unjustly. If everyone were to start using Pascal tomorrow, then C++ would become obsolete immediately, so support Pascal to the best of your ability and make programming easier, and more enjoyable.

If you disagree, leave a comment. Intelligent comments only, though, otherwise you'll get banned from leaving them.

Thank you!


Comments

You must be logged in to comment on this post.


kiwi-kiwikiwi-kiwi

2009-09-07 15:41:58

You know you sound very biased about these things.
People say Pascal is a teaching language because that's what it's mainly used for. The only good thing I know made in Pascal (well object pascal) is Skype.

First of all the first arguments regarding the inconsistencies of AS are dumb. Trust me on this one. If they bother you THAT much, just extend the base class make appropriately named variables and set them to their respective values (That works with functions too).

Second if you think opensource = free than you should spend more time researching the concept. The fact that YOU don't pay for it doesn't mean that somebody else doesn't. There are enough ways to make money using opensource software. If you don't believe me, just look at Ubuntu.
Therefore the no future argument fails. Plus those scripting languages you despise so much provide a HUGE productivity boost. For evidence look into the wikipedia page for the Koch Snowflake. See how many lines it takes you to write the same implementation in Pascal. And if you think this isn't a valid argument than think what would've happened if people rejected the first compiled programming languages and kept using machine code.

Third as far as semicompiled languages go, you are being ignorant. The most important reason they run slower is because the runtime adds security checks most programmers forget to make or worse don't know how to do. I would like to see you use a buffer overflow exploit on an application made in C# or Java. Also there will always be someone to find an exploit in your program, provided it gets popular enough, nothing is 100% safe in IT.
And on the complex speed stuff, someone posted a chess game made in javscript, there was something with a pwn in the url don't really remember it, that was the most wicked chess AI algorithm I saw, moved and felt like GNU Chess on hard. So it really depends on the quality of your programming here.

And finally we get to Pascal vs C. When Pascal was developed, its developers were a bit lazy I think, or they didn't have enough time to implement all the features that made C so great like a break, or static variables.Most of these issues were addressed by now, as far as I can tell, pascal implementations these days have enough features to compete with C compilers, and kudos for making it into the GCC collection, but that doesn't change the fact that it's bulky and has some shitty pointers, which brings us to the main reason Pascal lost the battle, it has some serious productivity issues, it involves at least twice the amount of typing a normal C programmer has to do.
Relevant example: x?y=0:f?printf('Hello'):return 0; I'd like to see how many lines it takes to write that in Pascal.
Also lack of precompiler is annoying, #define is like the number 1 most useful thing I have ever encountered in procedural programming, but you already stated that this is the reason you hate C.

So in the end yeah, it comes down to preference, but please do not provide a one sided monologue on how great THE ONE programming language is, no matter if it's Pascal or whatever, every programming language has its pros and cons, indicated use and so forth. To be top of the notch in the IT field you have to keep an open mind. Blindly sustaining just one programming language only leads to hate, monopolies, slower progress and equally bad things.

ShmenonPie responds:

There are far more things made with Delphi and Object Pascal than Skype, far too many to list. It's much more common than you might realise.

My criticisms of AS aren't 'dumb', they're perfectly valid. Pascal is case-insensitive, which makes it simpler and less fiddly.

I never said that Open Source doesn't cost anything, and Ubuntu has made no profits at all yet - Canonical hasn't broken even.

The productivity boost is really negligible for desktop applications, and the performance at run-time is far better with a compiled language.

Semicompiled languages are not as quick or efficient as compiled languages. Fact. Chess is a terrible example, as it's not exactly processor-intensive.

And as to your point about C, that so-called "relevant example" is ridiculously unreadable. The compiler optimises, the programmer needs to create readable code, not optimise.

I have every right to provide a monologue about THE ONE programming language, as it's my blog, and I'm not forcing anyone to read it. Having tons of programming languages leads to incompatibilities, fractured development communities, lack of specialisation and equally bad things.


SCUD14SCUD14

2009-09-10 14:45:15

I used Pascal for a year. It was brilliant.

ShmenonPie responds:

It is, isn't it? :D


JackhoJackho

2009-09-11 13:51:14

I hate programming

ShmenonPie responds:

You fail.


micky315micky315

2009-09-11 17:12:35

i think you forgot about c++

ShmenonPie responds:

C++ is basically C with a load more pitfalls. If I pan C, then by extension I pan C++.