theweaselking: (Horsey!)
[personal profile] theweaselking
[livejournal.com profile] sheyrena You may find S2 easier, to be honest. I don't, because I don't know the coding language, and lot of S2 is handled through a compiler. I don't even know what language it's coding IN.
Me: Programming languages are programming languages. You know one, you know them all.
Me: That one is C, for the record.


[Poll #1346583]

(no subject)

Date: 2009-02-10 12:34 am (UTC)
From: [identity profile] glitteringlynx.livejournal.com
I answered with a question mark because I don't know or understand programming, but he's given the the impression that assembly is the most basic, and the rest helps to build from there. Or I could just be completely confused.

(no subject)

Date: 2009-02-10 12:42 am (UTC)
From: [identity profile] theweaselking.livejournal.com
Assembler (there are MANY VERSIONS of assembler based on processor architecture!) is extremely basic, and speaking at least one of them is very useful, but speaking assembly doesn't actually teach you much about good programming or extend itself well to other languages. All other languages provide you with a structured way to PRODUCE assembler, because assembler is just a way of writing "0111110010100110" as "Move the object in register A into memory location B".

But yeah. While you can technically do anything with Assembler, you can't *PRACTICALLY* to everything with it. And knowing it won't teach you Java in any useful sense.

(no subject)

Date: 2009-02-10 12:49 am (UTC)
From: [identity profile] glitteringlynx.livejournal.com
Oh.. didn't know there was assemblER and assemblY. He learned assembly in computer technologist course at college. And yes, it's not a practical coding language but it's probably useful to understand. I think he's somewhat familiar with VB and C and C+. I'll have to ask him when he gets home from work in a couple hours.

(no subject)

Date: 2009-02-10 12:53 am (UTC)
From: [identity profile] theweaselking.livejournal.com
"assembler" and "assembly" are synonyms. They're the same thing - a direct 1-to-1 translation of binary instructions into human-readable instructions.

However, if you're programming for an embedded processor, you NEED to know what particular variant you need. And there are a lot of them.

(no subject)

Date: 2009-02-10 01:00 am (UTC)
From: [identity profile] glitteringlynx.livejournal.com
Right. Different ways of achieving the same goal at the basic level, but not inter-compatible. For example, you couldn't utilise one variant if the main code is written in another variant.

(no subject)

Date: 2009-02-10 01:10 am (UTC)
From: [identity profile] theweaselking.livejournal.com
Close.

At it's heart, Assembler is a 1-to-1 translation of machine code. A series of 1s and 0s becomes an Assembler statement, and vice versa.

What this depends on is the processor itself.

An Intel 8086 processor will interpret "10111010" to be something COMPLETELY DIFFERENT than a Motorola 68K - and that, fundamentally, was the difference between PC and Mac for a good two decades.

And the processors didn't just speak a different language, they had a different valid command list, too. Some things, you simply couldn't DO in a single command on an 8086 processor, so there was no command for them in 8086 assembler. The two addressed memory differently, so a command to store a Word and then read it back would give COMPLETELY different results on different processors.

Assembly was a similar-LOOKING language on different platforms, but fundamentally different. Like Spanish versus French.

(no subject)

Date: 2009-02-10 02:39 am (UTC)
From: [identity profile] glitteringlynx.livejournal.com
Gotcha. :) The romantic languages is a great analogy. That will be an easy way for me to remember in the future.

(no subject)

Date: 2009-02-10 09:50 pm (UTC)
From: [identity profile] dglenn.livejournal.com
Another way to think of it is that learning to work on a Triumph motorcycle will help in some ways when learning how to work on a Briggs & Stratton lawnmower or a Jaguar XJ12, because they have many concepts and one or two parts in common (like spark plugs), but knowing one doesn't mean you already know the others -- they're different machines. Add a Prius hybrid and a diesel Mercedes to the mix, and it gets closer to what you face in assembly-language programming. The ways-of-thinking to understand and troubleshoot the machines and to design repairs and modifications, will be similar, but the shop manual for one won't be much use for any of the others.

(no subject)

Date: 2009-02-10 02:57 am (UTC)
From: [identity profile] glitteringlynx.livejournal.com
BTW, he just got home. He says he used to know Qbasic, and he's more familiar with assembly (as prev mentioned, C++, Java, and VB. In case you were wondering.

(no subject)

Date: 2009-02-10 03:17 pm (UTC)
From: [identity profile] anivair.livejournal.com
nobody said it was a good unlock, but since any language can be converted to an assembly language (in fact, you could probably write a program to read the commands of other programs into an assembly language) it works.

In all fairness, though, you can write a program to convert just about anything, so I might change my vote to Perl.

(no subject)

Date: 2009-02-10 12:41 am (UTC)
From: [identity profile] chaosrah.livejournal.com
lols, apparently artemisgoddess and I think alike.

(no subject)

Date: 2009-02-10 12:50 am (UTC)
From: [identity profile] glitteringlynx.livejournal.com
I love some of the answers people are giving. :) Many laughs!

(no subject)

Date: 2009-02-10 12:56 am (UTC)
fearmeforiampink: (London London)
From: [personal profile] fearmeforiampink
I found it amusing to discover that, within my RPG geekiness, I'm a Hermetic at heart – my instant response was "Enochian", not Old Realm, the shamanic tounge, Ren, or any other gaming 'true language'

(no subject)

Date: 2009-02-10 01:01 am (UTC)
From: [identity profile] glitteringlynx.livejournal.com
When I had only read the poll, my first thought was "Latin?" Then I read the text above that and went "oooooh.... " lol

If I wanted to be a smartarse, I could've said Klingon. ;)

(no subject)

Date: 2009-02-10 02:39 am (UTC)
fearmeforiampink: ('sup gandalf)
From: [personal profile] fearmeforiampink
Heh. Though Klingon doesn't describe itself as the true language others are determined from, Enochian does.

(no subject)

Date: 2009-02-10 01:07 am (UTC)
From: [identity profile] publius1.livejournal.com
I'm embarassed to say that Dreamshade and I came up with the same lame joke independently.

(no subject)

Date: 2009-02-10 01:18 am (UTC)
From: [identity profile] elffin.livejournal.com
There was not enough room on the poll line for "inherent to the deep brain structure of all programmers", which I knew would be absolutely correct no matter what. Technically, there are some portions of the human experience not addressable by logic, but I believe they are also not addressable by language.

(no subject)

Date: 2009-02-10 01:24 am (UTC)
From: [identity profile] scifantasy.livejournal.com
Does that mean your icon is Snow Crash?

(no subject)

Date: 2009-02-10 02:22 am (UTC)
From: [identity profile] elffin.livejournal.com


That's creepy. I only made that expressly clear, after months of using this icon, in only one community—just yesterday—of which you are neither a member nor are you watching said community. I was referencing Chomsky and Hofstadter in my text.

*giggling*

(no subject)

Date: 2009-02-10 02:32 am (UTC)
From: [identity profile] scifantasy.livejournal.com
*shrug* I'd have called that if you hadn't made it clear. "Deep brain structure of all programmers"? What else would I think of?

(no subject)

Date: 2009-02-10 01:20 am (UTC)
From: [identity profile] aor.livejournal.com
I don't grant the premise. Knowing a procedural language doesn't help you understand how a pure-functional language works, for example. Maybe in the extremely basic sense of being comfortable writing code in an editor, and understand What A Computer Does on some reasonable level. And the latter isn't really guaranteed by knowing how to program, to my occasional bafflement

(no subject)

Date: 2009-02-10 01:30 am (UTC)
From: [identity profile] theweaselking.livejournal.com
Whereas I say that if you understand C, you can figure out anything. It doesn't make you good or guarantee any quality of output, just guarantee that syntax will not be your problem.

(no subject)

Date: 2009-02-10 01:34 am (UTC)
From: [identity profile] aor.livejournal.com
Canonically:
qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)


It doesn't have variable assignment, braces-as-blocks, statements separated by semicolons, ordered imperative statements, or really anything else C-like.

C might help you a little bit with data structures, maybe.

(no subject)

Date: 2009-02-10 01:42 am (UTC)
From: [identity profile] cantkeepsilent.livejournal.com
I would suggest that the One True Language would be the Trinity of C, Lisp, and Smalltalk.

(no subject)

Date: 2009-02-10 02:34 am (UTC)
andrewducker: (Default)
From: [personal profile] andrewducker
And Prolog, of course :->

(no subject)

Date: 2009-02-10 09:39 pm (UTC)
From: [identity profile] dglenn.livejournal.com
This comes closer to my way of thinking than the question as posed does. Knowing C, BASIC, ForTran, Algol, COBOL, Pascal, SPL, csh, dBaseIII, Z80, Macro-11, 6809, and 4th Dimension did not help all that much when it came time to learn Lisp. Knowing programming did, and having been exposed to Algol-family languages helped a smidgen, but compared to learning C after having learned Algol, learning ForTran after having learned BASIC, learning Javascript after having learned C++, or learning VAX Macro after having learned Z80, no other language was particularly helpful in learning Lisp. And knowing math helped as much as knowing procedural idioms for programming, when it came to Lisp. (Come to think of it, old Microsoft BASIC on the TRS-80 helped a little because I was used to nesting stuff algebraically to fit in one-liners, but that's a bit of a reach.) Lisp still didn't take me long, but C wasn't a help. The meta-skill of learning-new-languages was.

I imagine knowing HP pocket calculators will be helpful when I get around to looking at Forth again. I know little about APL except that folks I've spoken to who know it all say, in nearly the same words, that learning it rewires your brain, and that it's pretty alien to other programming languages.

I would've said "one Algol-family language, one ForTran-family language, one assembly language, Lisp, and optionally COBOL" would be the "prepared to learn most other languages quickly enough that other people will think you already knew them" set, and it doesn't matter all that much which Algol-family language and which ForTran-family language you start with (oh, and VAX might not be the best assembler to learn first despite being the most fun -- it's too much like a higher-level language to really teach commonalities of the assembly-language experience ... OTOH, if you're going to program directly in ones and zeroes, VAX is the way to go (speaking as someone who used to program Z80 in hand-assembled hex)). My omission of Smalltalk may merely reflect my own ignorance of it.

Hmm. Let me narrow the choices of Algol-family languages to the ones with OO features: Java, Javascript, C++ ... Though I didn't have much trouble grokking the OO syntax instantly when I learned C++ after already knowing C, getting used to designing in OO terms took a little longer.

The freshman intro-CS course I took at university wasn't a ForTran class; it was a general programming class that happened to use ForTran (the next year, the same class was taught with Pascal). Getting the programming brain-tools (or meta-tools) lined up matters as much as -- probably more than -- having learned any particular "key to unlock other languages" programming language. So that first step could just as well be pseudo-code.

(no subject)

Date: 2009-02-10 09:43 pm (UTC)
From: [identity profile] dglenn.livejournal.com
Oh, and I said "prepared to learn most other languages quickly" because I doubt that the set I proposed would help much with Brainfuck and Befunge (though learning Lisp plus an old (say 6502/6809/Z80) assembler would give one a leg up on programming a completely bare-bones Turing machine, so maybe that would help some anyhow...)

(no subject)

Date: 2009-02-10 02:26 am (UTC)
From: [identity profile] harald387.livejournal.com
I answered 'Money'. It speaks to programmers, they do shit.

(no subject)

Date: 2009-02-10 03:05 am (UTC)
From: [identity profile] netdef.livejournal.com
Correction, soon to be C1x . . . dang keyboard got in the way of my thought process and I cannot edit my poll entry.

But ANSI C will do for the current question. The original C as specified most popularly by K&R C is a bit -- different.

(no subject)

Date: 2009-02-10 09:54 pm (UTC)
From: [identity profile] dglenn.livejournal.com
I edited my entry ... I clicked on the "Poll #1346583 (http://www.livejournal.com/poll/?id=1346583)" text, then selected "fill out poll" on the page that brought up, and put in my new answer.

Profile

theweaselking: (Default)theweaselking
Page generated Feb. 5th, 2026 02:30 pm