hello friends! new(ish)!

Programming languages

From InstallGentoo Wiki v2
Revision as of 03:33, 9 February 2014 by >Ebin (→‎Assembly)
Jump to navigation Jump to search
Practical Language Comparison.jpeg

Quick summary of programming languages.

Assembly

  • Terse, but pedantic as fuck
  • Based Motorola ASM, so many variants, so much serial port downloading.
  • x86 ASM is pretty neat too, also known as PC ASM. Pain in the ass because AT&T is the UNIX standard, and Intel is the DOS standard and they are so close but its the little things that are different. Enough different to be a pain in the dick.

C

  • Designed to be a "portable assembly language"
  • Very fast, but dangerous to write in because no memory management or bounds checking
  • Will teach you a lot about memory and lower level computing
  • Used mainly for systems/microcontroller programming
  • Small language, with very small standard library

C++

  • Very, very large and feature-filled language
  • Considered verbose at times
  • C, but with OOP on top, and massive set of massive libraries.
  • Considered dangerous to write in because, like C, there is no memory management
  • Almost as fast as C

C#

  • What Java should have been
  • Runs on .NET or the Mono framework
  • Is very similar to Java, with some extra stuff borrowed from C++

Java

  • Very portable; compiling down to bytecode, which is then executed by the JVM
  • Object oriented language
  • Very large and enterprise
  • Huge libraries and a lot of software is written in it
  • Very verbose APIs
  • Receives a lot of undue criticism
  • Can be convoluted to write in sometimes
  • Is made fun of for the design patterns people use with it, and for the verbose naming schemes often used

Haskell

  • Executable math. Math is 2hard. You do the math.
  • Monads end up infecting everything. Fuck monads.

Lisp

  • Family of functional programming languages.
  • Roughly as old as, if not older, than C.
  • Changes the way you will think about how you write code in other languages, because of the different paradigm

Python

  • Very easy to read and simple (and fun) to write
  • Kinda slow
  • Uses whitespace indentation to separate logical blocks
  • Excellent for scripting
  • Considered the antithesis of Perl

Ruby

  • Focus on programmer happiness
  • Fully object-oriented
  • Elegant, readable code
  • As slow as any dynamic language will be
  • Excellent for general-purpose programming, scripting, text processing and web dev
  • Best of Perl without the Rest of Perl

Erlang

  • Makes concurrency/multithread shit a breeze.
  • Uses a specialised VM that has a hard time crunching numbers, and an even harder time handling strings.

BASIC

  • >It can do anything C can do, guise!!1
  • Lots of property implementations, only a few decent FOSS ones.
  • Still slower than C
  • >muh goto