LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Programming Language for starters (https://www.linuxquestions.org/questions/programming-9/programming-language-for-starters-596791/)

makyo 11-06-2007 11:45 AM

Hi.
Quote:

Originally Posted by theNbomr (Post 2949985)
... With all due respect to YolLuTRaC, learning any assembler for which you do not have a target system is a bit pointless, and most people do not have access to a MIPS based system. Yes, assembler language is very low-level, but if you are interested in programming at the hardware level, it is relevant, as well as instructive ... --- rod.

And yet there is the germ of project there, blending more than one approach. Begin to learn C, then little-by-little, write a simple MIPS simulator, starting with the simple instructions, allow easy IO, etc. Once that is running, then write a simple MIPS assembler. I think you will learn a lot, getting at least as much out as you put in, but it will be a strenuous task. Sun SPARC boxes are also easily available on eBay, so you could purchase one for less than $200. I have run Debian Etch on a Sun Ultra II dual CPU, which then would support your experimentation with C and assembler.

I cut my teeth on Seymour Cray-designed machines ( http://en.wikipedia.org/wiki/Seymour_Cray ), very clean, elegant instruction sets, http://en.wikipedia.org/wiki/RISC -- unlike the Rococo sets of CISC boxes, http://en.wikipedia.org/wiki/Complex...n_Set_Computer

For commercial work like this on custom-designed computers, some of my colleagues write assemblers, debuggers, and other tools in perl ... cheers, makyo

jiml8 11-06-2007 05:19 PM

I agree about avoiding Windows-specific C. Learn ANSI C, then you can work on OS-specific extensions with the understanding that these ARE OS-specific.

sundialsvcs 11-06-2007 07:01 PM

There are, as you know, dozens of computer programming languages, and over the many-years I have mastered several dozen of them. Starting with my very first 8-line program which took me three months to write and had a bug in it. :)

The hardest thing to master about programming is ... programming itself. And you don't see that right away, because at first you are pummeled by punctuation. To a [stupid ol'] computer, it matters a great deal where all those commas and semicolons and squiggle-marks go, and at first you're going to be flummoxed by that, no matter what language you start with.

But eventually you learn to forgive that "stupid ol'" computer, which after all is nothing more than a machine, and you build-up to the point where you can write a program in your current "language de jour" with reasonable proficiency. It is at this point that it's a really good idea to start learning a new language.

You need to do this for a good while. I don't think it could be expected to take you less than a year. And you need to be patient with yourself because you are learning a new skill and you are, also, dealing with "a dumb machine." You need to write a lot of programs: it really does not matter much what those programs are. "Practice, man, practice!"

I would suggest that you start out with a programming language that is fairly high-level. Plenty of folks have cut their teeth on Microsoft Visual Basic. And, plenty of people make their living at it today. Forget the talk of "The Evil Empire." You're learning a craft, and you'll need to learn more than one system. Find whatever system seems to present you with the least number of obstacles at first.

However... do plan to learn more than one system! You need to be familiar with ... eventually(!):
  • Microsoft Windows
  • Linux
  • Macintosh OS/X (a.k.a. BSD Unix + Mach)
But "Rome wasn't built in a day."

Welcome! Welcome to a profession that has been thoroughly engaging to me for twenty-five years and counting. Certainly we should consider ourselves fortunate when the way that we earn our daily bread is still fascinating and rewarding.

checkmate3001 11-07-2007 12:06 AM

Sissys! :)

What's wrong with a little Assembly Language?

God... I hated that stuff. Somehow got that as my very first college course. That was the longest semester of my life.


All times are GMT -5. The time now is 11:00 PM.