Programming?

A place to discuss deshive.com, the central hub for Dan Shive's (author of El Goonish Shive) projects. It has blogs, too! ...but no pool table :(

Moderator: DarkShive

Programming?

Postby prinnyofantioch on Mon Mar 20, 2006 1:16 am

Daniel Shive, I was not aware that you enjoyed to program. If I may ask, what languages are you familiar with?

I'm most familiar with C++, and I've dabbled in C# and a few scripting languages as well. I plan on picking up Assembly soon.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg."
-Bjarne Stroustrup

If you guys are bunnies, I'm a hare! BOOYA!
I wish I could change my screenname. Well, I could get a new account, but... meh.
User avatar
prinnyofantioch
Keenspotter Supreme
 
Posts: 46
Joined: Tue Aug 30, 2005 8:28 am
Location: RTFM!

Postby Tiogshi on Mon Mar 20, 2006 10:55 am

... oh, dear. Please take the following with no condescencion, and a dab of salt, too.

There is one "Assembly" for each and every microarchitecture in existence. Protected-Mode 386 assembly, which I'd bet money is what you meant (though you may not know it), is also the most useless of the whole lot.

If you're going to start learning assembly-level languages, make sure it's worth your while; that the platform and specific architecture you're learning will actually be useful, and will actually provide an advantage over compiler-generated code. Like the shader pipeline for ATI graphics chipsets (better yet; learn a mid-level shader language like GLSL), or perhaps the SIMD subarchitectures of the Pentium IV, or the SIMD subarchitecture of a half-decent RISC chipset.

If you want to learn to program professionally someday, get familiar with C#, Objective Caml, and one or two text manipulation languages, like PERL, AWK, and (if you're really brave) SED.

Hope this helps! Why else use the internet, except to learn, eh? :)
(( Tiogshi Laj :: Average ASCII Artisan and Ambitiously Anachronistic Assonanteur ))
(( This post has been quad-ROT13 encrypted. Reading it violates the DMCA. ))
(( 我说很少的汉语,还我的语法平庸。 But at least I'm UNICODE-compliant. ))
(( Now with 50% more fuit jruice! Ask about our convenient bulk pricing! ))
ImageImage
User avatar
Tiogshi
Keenspotter Supreme
 
Posts: 172
Joined: Thu Oct 06, 2005 9:03 pm
Location: where all old jokes go when they fall.

Postby Maxlord on Mon Mar 20, 2006 6:32 pm

Assembly...

I'm certainly not hacker (in the definition of this article), but I'm still a formidable programmer. I'm an absolute HTML ninja (my friends created that title), and can do Python with just about as much proficiency. Java, Perl, Javascript and PHP come after that. I'm a neophyte in, but can at least read everything from Visual Basic .NET to C to a little Lisp.

In short: I do Python and web programming.
Image
(Level 3 Bunny with 500 or so Bunny Points)

I am the proud creator of the Bad Cow Song.
Everyone loves the Bad Cow Song!
(http://www.freewebs.com/maxsongs/badcow2.mp3)
User avatar
Maxlord
Keenspotter Supreme
 
Posts: 137
Joined: Fri Dec 30, 2005 9:54 am
Location: Over there, with all the canceled shows.

Postby DeaExMachina on Tue Mar 21, 2006 3:14 am

So do both perl and python languages create programs compatable with Windows and Linux?
This post is a Catgirl Respawn Point.
Image
Image
User avatar
DeaExMachina
Grand Poobah Keenspotter
 
Posts: 616
Joined: Fri Apr 23, 2004 3:27 pm
Location: Sultan, WA

Postby kinkoblast on Tue Mar 21, 2006 12:30 pm

Perl and Python are both mainly unix-based, however, there are windows versions of both interpreters. I beleve ActiveState did Python, and I KNOW they did perl.

Speaking of Perl, bad pun based of a VERY bad thing alert!

Perl Harbour:
There's more than one way to bomb it.
User avatar
kinkoblast
Grand Poobah Keenspotter
 
Posts: 457
Joined: Mon Mar 20, 2006 5:55 pm

Postby Maxlord on Tue Mar 21, 2006 4:37 pm

Baaad pun...

Yeah, both Perl and Python are platform independant. You just need the interpreters. wxPython is a GUI module for Python (what gave it away?) that is also platform independant.
Image
(Level 3 Bunny with 500 or so Bunny Points)

I am the proud creator of the Bad Cow Song.
Everyone loves the Bad Cow Song!
(http://www.freewebs.com/maxsongs/badcow2.mp3)
User avatar
Maxlord
Keenspotter Supreme
 
Posts: 137
Joined: Fri Dec 30, 2005 9:54 am
Location: Over there, with all the canceled shows.

Postby Xiroth on Tue Mar 21, 2006 8:30 pm

Tiogshi wrote:There is one "Assembly" for each and every microarchitecture in existence. Protected-Mode 386 assembly, which I'd bet money is what you meant (though you may not know it), is also the most useless of the whole lot.

Most assembly languages are, however, reasonably similar (from what I've seen). I learned MIPS, which seems to be a pretty good example of a standard one, although I'm guessing that there are specialised languages for architectures geared for certain things.

But yeah, for most people learning Assembly-level languages is only useful in so far as it gives a better idea of whats going on behind the scenes (for example, you'll never take a two-dimensional array for granted again). But for the most part it isn't really much help - my advice for people wanting to become good programmers is to learn a low-level (but not as low as assembly) language (C is the standard one, but others should work fine), then work up from there.
User avatar
Xiroth
Grand Poobah Keenspotter
 
Posts: 999
Joined: Mon Dec 22, 2003 10:04 pm

Postby VidTheKid on Wed Mar 22, 2006 11:57 am

Tiogshi wrote:There is one "Assembly" for each and every microarchitecture in existence. Protected-Mode 386 assembly, which I'd bet money is what you meant (though you may not know it), is also the most useless of the whole lot.

If you're going to start learning assembly-level languages, make sure it's worth your while; that the platform and specific architecture you're learning will actually be useful, and will actually provide an advantage over compiler-generated code.


I'm going to assert that this applies to TrueType hinting bytecode. I suppose technically it's an interpreted language, but besides a few built-in geometric-algebraic functions it's about as primitive as any assembly code I've ever seen. My friends think it's scary that I can crank it out without consulting a reference for every line. And it's certainly useful for my purposes, as the program I use to draw my glyphs has no hinting capability. Besides, the "automagic" hinting generated by programs like Fontographer are, from what I've seen of the resulting fonts, almost useless. I prefer to code my own hinting routines, just like I code my own HTML and CSS. Just like I use only the most primitive image-editing functions (which, in combination, can do great things) and none of the fancy pre-packaged effects. Why? Because in all of these situations, I know more about what I'm doing than the program that boasts to make it easier for me.

Wow, that rant felt good.

Does this font make me look fat?
User avatar
VidTheKid
Keenspotter Supreme
 
Posts: 129
Joined: Tue Jan 13, 2004 5:04 pm
Location: Columbus

Postby prinnyofantioch on Wed Mar 22, 2006 7:27 pm

Right, well, I probably won't look into assembly-level things too closely, mostly just to help me in my other exploits - I don't know too much about it, which is why I intend on studying it (then again, maybe I know more than I realize). I already know HLSL, though.
C++ is my main weapon, game development is my beast. C# is really easy, in my opinion. :smug:
Last edited by prinnyofantioch on Sat Mar 25, 2006 7:18 pm, edited 1 time in total.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg."
-Bjarne Stroustrup

If you guys are bunnies, I'm a hare! BOOYA!
I wish I could change my screenname. Well, I could get a new account, but... meh.
User avatar
prinnyofantioch
Keenspotter Supreme
 
Posts: 46
Joined: Tue Aug 30, 2005 8:28 am
Location: RTFM!

Postby Maxlord on Wed Mar 22, 2006 7:34 pm

"In C, it's really easy to shoot yourself in the foot. In C++, it's much harder to shoot yourself in the foot, but when you do, you blow your whole leg off."
Image
(Level 3 Bunny with 500 or so Bunny Points)

I am the proud creator of the Bad Cow Song.
Everyone loves the Bad Cow Song!
(http://www.freewebs.com/maxsongs/badcow2.mp3)
User avatar
Maxlord
Keenspotter Supreme
 
Posts: 137
Joined: Fri Dec 30, 2005 9:54 am
Location: Over there, with all the canceled shows.

Postby prinnyofantioch on Wed Mar 22, 2006 7:40 pm

Maxlord wrote:"In C, it's really easy to shoot yourself in the foot. In C++, it's much harder to shoot yourself in the foot, but when you do, you blow your whole leg off."


:lol: That's from my man Stroustrup. What's funny is that I put that in my sig right before I noticed you posted that.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg."
-Bjarne Stroustrup

If you guys are bunnies, I'm a hare! BOOYA!
I wish I could change my screenname. Well, I could get a new account, but... meh.
User avatar
prinnyofantioch
Keenspotter Supreme
 
Posts: 46
Joined: Tue Aug 30, 2005 8:28 am
Location: RTFM!

Postby Maxlord on Fri Mar 24, 2006 6:10 pm

I actually got it from a friend, so you can see how it has morphed.
Image
(Level 3 Bunny with 500 or so Bunny Points)

I am the proud creator of the Bad Cow Song.
Everyone loves the Bad Cow Song!
(http://www.freewebs.com/maxsongs/badcow2.mp3)
User avatar
Maxlord
Keenspotter Supreme
 
Posts: 137
Joined: Fri Dec 30, 2005 9:54 am
Location: Over there, with all the canceled shows.

Postby Thy Brilliance on Fri Mar 31, 2006 12:13 am

Does no one do Delphi anymore? :(
SwimmingTrunks's Comic: Antagonist | Save Internet Radio
Laura's website: Seraph Child | Help Fight Hate
.
User avatar
Thy Brilliance
Keenspot Juggernaut
 
Posts: 6192
Joined: Wed Mar 02, 2005 1:06 am
Location: Relative

Postby Tiogshi on Sat Apr 22, 2006 12:58 am

Most assembly languages are, however, reasonably similar (from what I've seen). I learned MIPS, which seems to be a pretty good example of a standard one, although I'm guessing that there are specialised languages for architectures geared for certain things.

I should introduce you to a certain 12-bit microprocessor called the SX52 some day. You heard me; the instructions and some data are 12 bits each. It has access at any one time to 4 separate 'files' of 64 8-bit psuedo-registers, where each file is manually and directly paged to and from memory, which can be anywhere from a 12 to a 20 bit address space. Worst yet, it has a fixed-depth hardware call stack, so recursion is right out, and your code has to be designed never to recurse too deeply, lest you lose the earliest call to oblivion.

Nasty little bugger to program for, but you get pretty damn amazing performance for graphics and/or sound processing once you figure out how to implement your algorithms. Google for the XGameStation if you don't believe me, a console system designed for learning console development on, which can use one of these nasty little bastards for either its graphics or sound processor.

Some assemblies are very, very different. This one is one of 'em.

Apologies for the thread necromancy; I was going through a search of my recent posts, trying to find something, and found this instead.
(( Tiogshi Laj :: Average ASCII Artisan and Ambitiously Anachronistic Assonanteur ))
(( This post has been quad-ROT13 encrypted. Reading it violates the DMCA. ))
(( 我说很少的汉语,还我的语法平庸。 But at least I'm UNICODE-compliant. ))
(( Now with 50% more fuit jruice! Ask about our convenient bulk pricing! ))
ImageImage
User avatar
Tiogshi
Keenspotter Supreme
 
Posts: 172
Joined: Thu Oct 06, 2005 9:03 pm
Location: where all old jokes go when they fall.

Just getting my feet wet here...

Postby horus on Fri Mar 30, 2007 7:10 pm

Earlier comments re the relative merits of learning Assembly Language Programming are spot on unless you're looking to code for an embedded system, and, even then, it's really platform-dependent whether or not the higher level languages really lose that much to assembler/machine code.

I'm mainly an industrial coder - a lot of experience with several varieties of BASIC, FORTRAN, and some really odd "automation control" languages like FORTH, Ladder Logic for several flavors of programmable controllers, and most of my experiences programming are for controlling robots or automated systems for manufacturing.

I dabble in actual "computer programming", and am finally breaking down and learning C about 20 years too late. (Linux has this lovely thing called a kernel that's mostly written in C, I hear?) Four months and I have only now begun to design my first original project, a record keeping aid for Traveller referees. Yeah, I'm a really serious programmer, I am':wink:'. (I figure it's as good a project to learn on as any.)

So why not Python, Perl, Java, Ruby or C++ or any of the other OOP languages? Object-oriented stuff gives me headaches. I've done a ton of reading on the subject, and I just can't seem to get my head around the semantic pit of jargon used to describe OOP. I get the concept of the "black box", I really do. What I don't get is how to properly design a program - where the objects begin and end. So, for now, I'm giving up on OOP.

If anyone has a suggestion to help me break through on OOP, I'm all ears, because most of the newer GUI tools are all OOP-based. I'm especially liking what I see in QTDesigner, but that'll have to wait until I can tackle C++.

Enough grumbling. If any of you need help with BASIC, or any of the other dead languages I speak, let me know - I'll do what I can to help you out.

Later On,
Dave
Incarnating as Het-heru for the duration of the Sister II story arc.

"It is my firm belief that it is a mistake to hold firm beliefs."
A Proud Member of Quote Pyramid Demolition Workers' Union Local No. 72
XP: We don't need no stinkin' XP (yet)!
EGS Inventory: Standard Newbie Pack (1 dead fish, 6 cans of unlabeled soda, 1 TF gun, 1 Squirrel teddy, "1 Thing I've forgotten" (from who?), a copy of Cat Chicks Magazine, and a Grace VooDoo doll.
Image
Image Image
ImageImage
User avatar
horus
Grand Poobah Keenspotter
 
Posts: 439
Joined: Fri Mar 30, 2007 3:07 pm
Location: Directly Above The Centre of The Earth

 

Return to DEShive

Who is online

Users browsing this forum: No registered users and 1 guest