A few years ago I found a box of old floppies that had a bunch of code I wrote in high school. Some BASIC, some Pascal, some C (some Unix and some Turbo C), and some Prolog. Mostly games, assignments and a couple of attempts at making shareware.
BASIC did little to abstract logic and flow control and most interpreters only had global scope for variables. As your software got more complex, it got harder and harder to debug. Additionally, no real way to do any real dynamic data structures - you had only fixed length arrays.
Turbo Pascal was great, but had lots of little annoying limitations. String length had to be declared up to 256 characters (I think this got fixed in a later version of Delphi). These limitations made it harder to do lots of things that were really easy to do with C.
Prolog was really cool - but it was useful for a limited set of uses. I wrote a couple of tries (really cool to my 15 year old brain) at adventure games, and prolog made a lot of it really easy since most adventure games were all about collecting a set of conditions to solve some kind of puzzle.
C was easily my favorite - it was harder to understand at first with pointers and having to manager memory allocation, but you could build anything you wanted with it. There were a few programs where I implemented in BASIC, and then rewrote them in Pascal, and then in C. Each time, the application became more useful because a lot of limits were removed.
Honestly, C has really held up well, and a lot of that has to do with having no artificial limits... you still had hardware-imposed limits though. C did have a lot of built-in footguns... That said, I really love a lot of modern languages - so easy to do big things.
Comments
A few years ago I found a box of old floppies that had a bunch of code I wrote in high school. Some BASIC, some Pascal, some C (some Unix and some Turbo C), and some Prolog. Mostly games, assignments and a couple of attempts at making shareware.
BASIC did little to abstract logic and flow control and most interpreters only had global scope for variables. As your software got more complex, it got harder and harder to debug. Additionally, no real way to do any real dynamic data structures - you had only fixed length arrays.
Turbo Pascal was great, but had lots of little annoying limitations. String length had to be declared up to 256 characters (I think this got fixed in a later version of Delphi). These limitations made it harder to do lots of things that were really easy to do with C.
Prolog was really cool - but it was useful for a limited set of uses. I wrote a couple of tries (really cool to my 15 year old brain) at adventure games, and prolog made a lot of it really easy since most adventure games were all about collecting a set of conditions to solve some kind of puzzle.
C was easily my favorite - it was harder to understand at first with pointers and having to manager memory allocation, but you could build anything you wanted with it. There were a few programs where I implemented in BASIC, and then rewrote them in Pascal, and then in C. Each time, the application became more useful because a lot of limits were removed.
Honestly, C has really held up well, and a lot of that has to do with having no artificial limits... you still had hardware-imposed limits though. C did have a lot of built-in footguns... That said, I really love a lot of modern languages - so easy to do big things.