List of Programming Languages

Discussion in 'Web Development and Programming' started by Monster, Nov 14, 2010.

  1. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany
    Here's a somewhat humorous list of programming languages that I made in another thread. Here's them again, just for reference. :eat:

    Part I

    1. C: Sometimes the simplest things are the best. C is relatively easy to learn and powerful enough that you can do almost anything with it. There's nothing like knowing the compiler will have little trouble translating this, generating code that will run fast on any machine.
    2. C++: When it was still young, C++ was really nice. It added little overhead to C and was a joy using. Nowadays, C++ is a blown-out-of-proportion behemoth that keeps programmers around the world waking drenched in their own sweat from horrible nightmares. Well, not even its inventor goes to all that trouble nowadays, and keeps on using the stuff that used to be easy. I wonder how many people understand all the implications of using its overcomplicated template system. And you still can't use strings as template arguments. Bummer.
    3. C#: Microsoft's attempt to compete with Java. C#, in theory, would be a nice language, were it not for something called annotations that uses f**king GUIDs to identify types etc. As long as what you want to do isn't straying from predefined paths, you have nothing to worry about, though.
    4. Delphi: Borland's object-oriented Pascal is pretty simple and looks a bit like C#, being made by the same inventor. However, last I've looked, Delphi went under, and it is very telling that the only alternative is a development system called Lazarus. Delphi was hailed as the ultimate rapid-prototyping tool, and has long been overtaken by Java + Netbeans and C# + Visual Studio .NET. Unless you want applications that look like they're from 1995, of course. Or want to use expensive component libraries.
    5. Pascal: Created in Zurich by Dr. Niklaus Wirth, the posh proponent of structured programming who said C was nothing more than an assembler sugar-coated with syntax. He was right, of course. Thank god or whatever you believe in. His other languages like Modula and Oberon didn't get much traction, but they're even better. Pascal is nice if you want to avoid programming mistakes in the first place. Trusting the compiler, and all. Pascal was nice until Borland created Turbo Pascal, which perverted the original concept to transform Pascal into an assembler sugar-coated with syntax. The popularity of it shows what programmers thought of the original Pascal. Sad.
    6. Ada: Give a committee the task to design a programming language, and out comes something like Ada. Used by the DoD foremost, hailed for its bug-free programming paradigms, Ada is still the first choice for people who want to make sure what they're doing actually works. However, if you're into object-oriented programming, you might find Ada 95 to be terribly complicated. That's what you get for using a language that used to be like Pascal with subtly altered syntax to cater to the object-oriented programming crowd. If you're mind is in a knot, don't wonder why.
    7. Java: All hail the JAR-Files! If you've thought that your programming language's libraries can't be any larger, give Java a try! There's classes for everybody! But don't forget to rework your program when a new version comes out: Out with the old, in with the new, you know!
    8. Perl: Originally designed for quick data extraction from files, Perl has become a venerable programming language, that even has object-oriented features. Perl programs can look like white noise if you're not careful, however. Its paradigm is "there's always more than one way to do it". Perl programs can be ridiculously powerful in the right hands, and ridiculously unreadable in the wrong hands.
    9. PHP: Started out as something like a Perl-cum-HTML approach, and has evolved over the years to become even more useful. Sadly, none of its strengths are related to speed.
    10. BASIC: The original BASIC, at least as implemented in the 8-bit computers of yore, was easy-to-use, simple, and straightforward. A language for beginners. Visual BASIC as created by Microsoft ran off into a different direction. Nowadays, I wonder what's left of the old BASIC spirit. Sadness remains when people nowadays associate BASIC with Visual BASIC. It could've all been so simple.

    Part II:

    1. Assembly Language: If all you want is speed, in a non-portable way, assembly language is the right choice for you. Hack in a couple of CPU instructions and be done with it. But don't forget to optimize them for your current CPU. Oh, damn wait, there's many types of that CPU model. Back to the drawing board. Or do you want to leave it to a compiler?
    2. Tcl: If you've always known that text is the way to solve all problems, Tcl is for you. But don't forget the expansion rules. Not to mention that Tcl can be bound into any program to make it scriptable.
    3. Lua: If you love languages designed by novices, Lua might be the ideal choice. It combines the scriptability of Tcl with a simple language that hasn't been all that thoroughly thought out. Or am I wrong?
    4. Korn Shell: While we're talking about scripting languages: If Tcl isn't easy enough for you, you can always use your shell. Don't forget to write long-winded programs with it that use other tiny programs to generate expressions like "true" and "false".
    5. REXX: Another language from the "text is everything" faction. Designed for beginners. Easy to read and use. What more could you possibly want? Oh, and don't forget that space is an operator.
    6. FORTH: Oh, I almost forgot about that one. If you like programming in a language that looks like white noise, FORTH is ideal for you. A language so powerful, that you don't necessarily need anything else. At the top level, to run your program, all you need is type in its name. Ideal if you're into recursions, too. Just like any problem can be represented using iteration, any problem can be represented using recursion. Also, has the longest standards document in the history of programming languages, at a couple thousand pages.
    7. Smalltalk: If you do like object-oriented programming, but don't care about readability, Smalltalk is a good choice. It sure does make you look smart. And still gets top pay.
    8. BCPL: Being the ancestor of C, BCPL has a lot of interesting aspects to it. Sad only that Ken Thompson threw away the typelessness when he designed C b/c his computer didn't have enough memory to run the BCPL compiler. Combined with INTCODE or Cintcode, BCPL is pretty portable. Very, very portable. Sad only that it's now almost forgotten.
    9. LLVM: A virtual machine code that looks like a programming language. Nice. However, still under development. And what were all its dependencies again? Sorry, I forgot.
    10. Brainf**k: A turing-complete machine language that uses a minimum of language elements. Something designed by computer science students for computer science students. Related to Ook. Might make you want to climb up the walls if you haven't done so already.
     
  2. Freshfroot

    Freshfroot Regular Member

    Joined:
    May 25, 2009
    Messages:
    49
    Likes Received:
    0
    oh no! you forgot PYTHON :p

    Loved the C++ and C versions of your post haha.

    I am working on assembly language now and it's pretty intense after awhile. Your so limited to the amount of memory and registers you have... It gets frustrating at times.
     
  3. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany
    I haven't played around with Python much yet. ;)

    On which CPU are you programming?

    Modern Pentium 4 type CPUs have a lot of registers: EAX-EDX;EDI;ESI;R8D-R15D w/ 32-bit operand size, RAX-RDX;RDI;RSI;R8-15 w/ 64-bit operand size, MMX registers MM0..7/ST(0..7), XMM (SSE) registers XMM0..15, etc.; to get at those, use the CPUID instruction to identify the CPU type and its supported register/instruction set.

    And what memory limits? You can always call the system memory allocator. :)

    ---------- Post added at 08:10 AM ---------- Previous post was at 08:05 AM ----------

    p.s.: here's a list of manuals for the IA-32 and Intel 64 processor architecture. Enjoy! ;)
     
  4. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany
    p.p.s.: I've programmed a lot of CPU types in assembly language (in fact, assembly is still one of my favorite languages). If you need any help, just let me know! :)
    (I know the architectures of 6502, Z-80, 6809, 680x0, 88000, 808x, 80x86 (x86), P (=Pentium), P II, P III and modern P 4 (IA-32/i64); I've actually programmed on a real computer on all of them except 6809 and 88000, which I know only theoretically; I once wrote an 6809 emulator but lost its source code, sadly)
     
  5. Freshfroot

    Freshfroot Regular Member

    Joined:
    May 25, 2009
    Messages:
    49
    Likes Received:
    0
    Nice stuff. I guess I'm just not used to it, so I guess I find it more frustrating. I am programming in HC12, quite old and seems like there are better architectures out there to use. But that is what is being used here.
     
  6. Monster

    Monster Admin Talk Staff

    Joined:
    Apr 24, 2004
    Messages:
    515
    Likes Received:
    82
    Location:
    Germany
    The 68HC12 is a 16-bit micro controller used primarily in embedded systems. ;)

    They are used mainly were slow clock speeds are necessary, like in automotive or space industries. Also, in any machines where speed doesn't matter. :)

    If you're using a PC with Windows, right-click on your Computer icon and select "properties". Then you'll see the type of CPU that's in your computer.

    Why not try to program your PC in assembly language? :)

    The link I've given above for the Intel IA-32 and Intel 64 CPUs applies to all modern PCs (even if your CPU is from AMD, Cyrix or other company). With Visual C++ 2010 Express (search for it on the Microsoft website or click here) you can write assembly language programs for your PC (it's free, and must be registered if you want to use it for longer than 30 days). Also check out Open Watcom C++, which is a more classic development environment (based on the old Watcom C++ compiler). It also supports assembly language directly, and comes with a command-line assembler called WASM.

    When your program your own PC in assembly language, you'll get more fun out of it! :)
     

Share This Page