Talk:Assembly language

From Uncyclopedia, the content-free encyclopedia
Jump to navigation Jump to search
Bloink1 solid.png
This article was nominated for deletion on June 1, 2012.
The result of the discussion was Rewritten.

I am "reverting" back...You may make a new article for your "source code"

17:04, November 25, 2010 (UTC)~

This was a lost chance to make a great and fun article about assembly. The assembly vs assembler misunderstood took all the fun.

Assembly-> programming language Assembler-> compiler

Programmers like humor too...[edit]

OK, so I'm sorry I missed the VFD and rewrite that occured within minutes of my last edit back in June, but here's the deal. Prior to this, it wasn't a perfect article, but it was hilarious for programmers. For non-programmers, it probably seemed pretty dull. Should I care? Why are you looking up Assembler on Uncyclopedia if you don't know it? :) Granted, there should be humor in it for anybody, but I don't see what's wrong with having a lot of targeted humor for specialists of the topic.

Let me break down an example from this revision:

 Function Main()
 Dim As Integer x = 0, y = 0, eax = 0
First off, this is Visual Basic syntax, which is the laughing stock of programming languages, yet we delcare one variable "eax", which is the 32-bit x86 primary accumulator register, not a 68k register
 for(y = 0;y < 100; y++)
 for(x = 0;x < 100; x++)
A snippet of C code that is extremely common for dealing with 2d arrays
 {
   SCANLINE = WAIT(3DAh)
 {
   eax = eax - 7
   If eax = 0 Then
     MOV eax, 16777215
Actual assembler! OMG! Except we're loading a 32-bit register with the value of a 16-bit negative 1 -- a mistake, because it will be seen as positive 16777215, since this is a 32-bit register
     PSET x, y, eax
Now we're back to visual basic. It would have been funier to me if they used "SET", which actually comes from a much more archaic version of BASIC (TRS-80, a.k.a., "Trash 80") where each character on the screen would be broken down into four blocks that could be SET (turned on) and RESET (cleared), but all the OS did was change the character at that position on the screen to be one of " ▘▝▀▖▌▞▛▗▚▐▜▄▙█". (image of a TRS-80 running a game using this graphics mode.) There's no SET in visual basic and PSet draws *actual* pixels on the current window. However, this joke would have been surely lost on some of even the most well-honed hackers, so PSet it is.
     BSWAP y, x
Actual assembly, except that x & y aren't registers on either x86 or 68k (where bswap comes from), they exist on older motorolla CPUs (65xx), but those never had a bswap :)
     CD /
     RM -rf *
Hurray! now we're in shell script (bash, sh, ksh, take your pick) and we're deleting all files!
   Else
     DEL *.*
We have to have a DOS equivilant, so this deletes all files in DOS
     SDL_Init()
W00t! now we're programming games using (Simple Direct media Layer)
     NORTH
     GET CAKE
     EAT CAKE
All beautiful! Now we're playing an old text-style game like Zork!
     TRY
Hah! a try/catch block from C++
     GET YE FLASK
Hell yes! a reference to Homestar Runner's Thy Dungeonman! (a parody of Zork-like games)
     CATCH E
The catch portion of the try/catch block
     BSOD
Invoke blue screen of death (Windows NT/2k/XP/Visita, etc.)
     END
   End If
 }
 }
 End Function

So I think you've really missed the point here. The "Alternative" snippet is an actual program that, while I haven't actually tested it, appears it will compile and run (correctly) on Windows. The narrative is amusing, but is a bit difficult to edit properly. The "Linux Way" section I fell pretty flat on my ears and felt too much like a "me too" answer to the "Alternative".

In reality, knowing assembly turns out to be very important for anybody doing C++, C or other low level compiled languages when working on performance critical sections of code where you have to examine the assembly output or any time you want to debug a program. Debugging happens in machine language and the debugger can show you the C or C++ code that it corresponds to, but there's never a 1:1 match, so learning assembly becomes crucial.

The examples you posted fails for MANY reasons

  • you don't use a single slash to start a comment, most assemblers use a semi-colon
  • you don't use all-caps for comments
  • the "can't move, only add to zero" isn't true for any CPU that I've ever seen
  • the cobol example contains a racial slur

Finally, the humor in "software thief" for Linux Torvolds falls pretty flat on my ear. The "recoding other people's innovations" is a silly because it's the argument for software patents, which has yet to be tested in a court of law in the US or any other country that I'm aware of. Torvolds definately uses assembly in the kernel and he's got plenty of aspects (flaws) to his personality that can be great targets for humor, but this lame accusation by SCO UNIX (see also) was just their desparate attempt to get some money before they went belly up.

I'm for re-working the revision I've posted above and keeping some of your contributions in your re-write. The preceding unsigned comment was added by Daniel Santos (talk • contribs)

Sir: A lot can happen on a wiki during six months of absence, and reverting someone else's work is not the most genteel way to react to it. My complaint about your version is spelled out in my VFD nomination of it. I am a programmer and your article is anything but hilarious to me. For example, I don't regard the inappropriate use of the symbol EAX as a knee-slapper. Your discussion above proves that the article is great if your name happens to be Daniel Santos--especially the length you have to go to, to explain your jokes. For the general audience, it makes eyes glaze over. The reader might have looked up Assembly language "because you already knew it"--or because he wanted general-audience humor, not inside jokes--or because he doesn't know anything about it but wanted to find out with humor. My example uses PDP-8 assembler, which did indeed use slashes rather than semicolons, and importantly, was much more primitive than modern assemblers, which served to prove my point. And, importantly, I did it in fewer than four screenfuls. One does not have to work out what it does to get the joke. Your complaints that my jokes, both on assembler and Torvalds, don't do justice to the truth, show that your goal is not general humor but exchanging coded winks with other experts. That's not what we do here, whether or not written in LEET.
I am inclined to revert your changes, but have first run it by the administrator Romartus. Spıke Ѧ 22:49 5-Dec-12
I feel like the Ottoman sultan who was asked to adjudicate in a dispute between the Catholics and Orthodox churches over who should have the keys to the Church of the Holy Sepulchre. Get it right and we can all head shake to Status Quo. Get it wrong, you have the Crimean War. Not having a clue about the subject matter and whether one line of code is funnier than the other, it would be better to collaborate to produce a better article. I can't see what was wrong with the added photos to this article since that is a standard request for all pages to carry a pic or two. Also, no writer 'owns' an article here but changes are judged on the general criteria whether an edit improves or degrades the quality of the article. In this instance, that is me as an admin representative of this wiki. So what I will do now is to tag this with a 30 day warning and let you both come up with a solution. --Laurels.gifRomArtus*Imperator ® (Orate) 09:27, December 6, 2012 (UTC)
I have added a few links. --Laurels.gifRomArtus*Imperator ® (Orate) 09:36, December 6, 2012 (UTC)