Author Topic: Programming languages  (Read 12016 times)

Will

  • Moderators
  • Fine as dandelions
  • *****
  • Posts: 1735
  • Advanced anti-spam registrations filter
    • View Profile
Programming languages
« on: March 24, 2003, 11:54:30 pm »
Quote from: "kev222"
It might also be a good idea to wait for Will (m125 boy) to drop by and comment. He know everything about computers.


One of the mods says I know everything about computers! It must be true! Yay!  :D

Honestly, I think Java is a lousy language to start off with. I think it is lousy in general, only having an advantage in the "write once, run anywhere department." Too bloated. If I can't run a simple program on my p233, somebody needs to clean up their code. There is no serious number crunching going on with most things.

If I were to learn programming from scratch, I would learn asm first, just to know how things work at a very basic level. You learn about registers and such. How a computer processes data. Memory access. You don't even have to get all that into it. Just understand the basics enough so you can see the abstractions on top of it. Oh yeah, Stay away from x86 asm if you do go this route. Go with mk68k. Much easier. x86 is hell without a compiler to hide the strange querks in the kludged arch from you.

Next, I would learn a higher level procedural language, like BASIC or Pascal. I would avoid BASIC because it will get you into bad habits. Pascal makes it harder to write bad code than most languages, so it is a good teaching language.

Now, for the modern programming stuff. Learn an Object Oriented language, like Java (EEEKKKK!!!!), C++, or ObjC (showing my MacNESS right there). I think C++ will get you further in the end, but hey.

Of course, if you just want to learn how to do simple programming and you aren't that serious about it, take a Visual Basic class. It will probably be much easier for you and you will end up learning more about programming techniques.

Besides, I have never seen a Java class for the beginner to programming.

(This incoherant rant brought to you by the letter ∂ and the number e)
"Of all the things I've lost, I miss my mind the most." -Ozzy Osborne

Grakthis

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3983
  • Lord Andrew
    • AOL Instant Messenger - Grakthis
    • View Profile
    • http://www.grakthis.com
Oh my DEAR GOD!
« Reply #1 on: March 25, 2003, 07:47:32 am »
Did you just tell her that she should learn Assembler as her first LANGUAGE?!? ARE YOU MAD?!?

Java is a PERFECTLY fine language.  VB is better, but Java works.  I am a sotware developer.  Ive developed a LOT of applications for a lot of companies and I have NEVER seen anyone develop in assembler.

The languages that matter are VB, VB Script, Java, Java Script, C++, SQL, T-SQL, PL/SQL (any SQL programming variant) and MAYBE some of the .net languages, C#, VB.net etc.

I seriously doubt she wants to develop an operating system, so there is no need to learn assembler.
---Andrew
If you are reading this, you are probably on my ignore list.  Click here to return the favor

Wagella Wrote:Yay for Bigotry!!

---Andrew

PintOGuinness

  • VCUBs
  • Your true colors shown
  • *
  • Posts: 637
  • My face is on milk cartons
    • ICQ Messenger - 3162963
    • AOL Instant Messenger - PintOGuinnessVC
    • View Profile
    • http://www.buckheadyouthorchestra.com
    • Email
Programming languages
« Reply #2 on: March 25, 2003, 08:18:33 am »
If m125boy = (yap,yap,yap)
then
zzzzzzzzzzzzZZZZZZZZ

LOL  :lol: I'm just kidding... I took the non-programmer cert route with computers...  no biggie!!!  i love the geek talk...
-- Jason

Grakthis

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3983
  • Lord Andrew
    • AOL Instant Messenger - Grakthis
    • View Profile
    • http://www.grakthis.com
heheheh
« Reply #3 on: March 25, 2003, 08:29:39 am »
Have I mentioned lately that i STILL dont like M125boy?

I have to remind him of that every so often, keeps things fresh.  :wink:

Code: [Select]
do while Andrew.GetsAlongWith("M125Boy") <> True  
  Andrew.MsgBox("M125Boy Sucks")
  If M125Boy.Respond = True then
       Andrew.MsgBox("Grrrrrrrrr")
       Andrew.Temper = Andrew.Temper + 1
       if Andrew.Temper > 3 exec Argument("M125Boy")
   else
       Andrew.MsgBox("133T!")
       Andrew.Ego = Andrew.Ego + 1
       Andrew.Temper = Andrew.Temper - 1
   End if
loop


Wow, was this post dorky.....

Code: [Select]
Andrew.Cool = Andrew.Cool - 1

ROFL
---Andrew

I fixed your formatting -KevMod
If you are reading this, you are probably on my ignore list.  Click here to return the favor

Wagella Wrote:Yay for Bigotry!!

---Andrew

Grakthis

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3983
  • Lord Andrew
    • AOL Instant Messenger - Grakthis
    • View Profile
    • http://www.grakthis.com
!!!
« Reply #4 on: March 25, 2003, 08:30:17 am »
:x

Damn thing removed my formatting! now my code is unreadable! Grrrrr!
---Andrew
If you are reading this, you are probably on my ignore list.  Click here to return the favor

Wagella Wrote:Yay for Bigotry!!

---Andrew

kev222

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3194
  • zero vector
    • AOL Instant Messenger - k3v222
    • View Profile
    • http://www.kev.nu/vc
    • Email
Programming languages
« Reply #5 on: March 25, 2003, 09:04:51 am »
Okay I'm going to get stuck in here :)

I have split this thread off into a seperate topic. For those that are interested, it came from Zee's "Computer geek ppl...." topic. I'm sure this subject is worth a thread on it's own. But let's keep it nice (ish)

If you want a full and complete understanding of all other programming languages (and computers) Assembly is unavoidable. It also makes sense to start from the lowest level and work up to higher abstractions. So I say that a case can be made for this. Of course, if you don't have a lot of time to spare and don't want/need a totally comprehensive knowledge of what goes on behind the scenes, it's probably not a good place to start.

I learnt x86 Asm as my second ever language and it has been invaluable, even though I don't code much PC stuff in it anymore. Assembly is still used in embedded systems and other areas where PC level memory/processing recources aren't available. There's more to computers than PCs & MACs and often Asm (or at best C) is as good as you'll get.

Personally speaking, I wouldn't go near any Object Oriented language with a 10 foot barge pole (Java, C++, smalltalk, VB(.net))  <-- note: The only true OO language there is smalltalk. There is a vast weath of material pointing out the flaws with OO, so much so that I won't bother to go into any of it here. However, I will say that C# has fixed a lot (not all) of the problems.

I always advise people to learn C as a first language (C, not that joke C++). That way they can avoid the evil influences of the OO paradigm and also a lot of the low level complexity of Assembly. But when they are done they are suitably low level and suitably abstract to have a head start in both directions. Or they can just stick with C, it's easily as cabable as any other language and portable. It's also fast.

Sorry for the yap yap yap. lol

-Kev

In short: C and assembly are all the language you'll ever need ;) (but haskell comes in useful too)

Katia's Lover

  • I'd Walk A Thousand Miles...
  • *****
  • Posts: 1325
    • AOL Instant Messenger - GSUCarltonFan
    • View Profile
    • http://www.southern-connection.com
    • Email
Re: KEVIN!!!
« Reply #6 on: March 25, 2003, 09:13:03 am »
Quote from: "m125 Boy"
One of the mods says I know everything about computers! It must be true! Yay!  :D

Honestly, I think Java is a lousy language to start off with. I think it is lousy in general, only having an advantage in the "write once, run anywhere department." Too bloated. If I can't run a simple program on my p233, somebody needs to clean up their code. There is no serious number crunching going on with most things.

If I were to learn programming from scratch, I would learn asm first, just to know how things work at a very basic level. You learn about registers and such. How a computer processes data. Memory access. You don't even have to get all that into it. Just understand the basics enough so you can see the abstractions on top of it. Oh yeah, Stay away from x86 asm if you do go this route. Go with mk68k. Much easier. x86 is hell without a compiler to hide the strange querks in the kludged arch from you.

Next, I would learn a higher level procedural language, like BASIC or Pascal. I would avoid BASIC because it will get you into bad habits. Pascal makes it harder to write bad code than most languages, so it is a good teaching language.

Now, for the modern programming stuff. Learn an Object Oriented language, like Java (EEEKKKK!!!!), C++, or ObjC (showing my MacNESS right there). I think C++ will get you further in the end, but hey.

Of course, if you just want to learn how to do simple programming and you aren't that serious about it, take a Visual Basic class. It will probably be much easier for you and you will end up learning more about programming techniques.

Besides, I have never seen a Java class for the beginner to programming.

(This incoherant rant brought to you by the letter ß and the number e)


Quote from: "kev222"
If you want a full and complete understanding of all other programming languages (and computers) Assembly is unavoidable. It also makes sense to start from the lowest level and work up to higher abstractions. So I say that a case can be made for this. Of course, if you don't have a lot of time to spare and don't want/need a totally comprehensive knowledge of what goes on behind the scenes, it's probably not a good place to start.

I learnt x86 Asm as my second ever language and it has been invaluable, even though I don't code much PC stuff in it anymore. Assembly is still used in embedded systems and other areas where PC level memory/processing recources aren't available. There's more to computers than PCs & MACs and often Asm (or at best C) is as good as you'll get.

Personally speaking, I wouldn't go near any Object Oriented language with a 10 foot barge pole (Java, C++, smalltalk, VB(.net)) <-- note: The only true OO language there is smalltalk. There is a vast weath of material pointing out the flaws with OO, so much so that I won't bother to go into any of it here. However, I will say that C# has fixed a lot (not all) of the problems.

I always advise people to learn C as a first language (C, not that joke C++). That way they can avoid the evil influences of the OO paradigm and also a lot of the low level complexity of Assembly. But when they are done they are suitably low level and suitably abstract to have a head start in both directions. Or they can just stick with C, it's easily as cabable as any other language and portable. It's also fast.

Sorry for the yap yap yap. lol

-Kev

In short: C and assembly are all the language you'll ever need  (but haskell comes in useful too)


Uh... I know how to run Windows!!!
katiakaysha: you win
katiakaysha: you're right

I'm on a mission to piss the world off.  Is it your turn yet?!

http://losersareentertaining.blogspot.com/

Grakthis

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3983
  • Lord Andrew
    • AOL Instant Messenger - Grakthis
    • View Profile
    • http://www.grakthis.com
Kev...
« Reply #7 on: March 25, 2003, 09:20:20 am »
Ok, I tell you what.  My client needs an application to display their flow rate over a three minute period for 58 different scanners.

You develop it using C and Assembler and i'll develop it using an OO language, and we'll see who gets done first.

I'm not gonna stand here and tell you OO programming is more efficient or uses less resources, or runs faster or blah blah blah

What i AM gonna tell you is that they work, they are easy to develop, they take about 1/50th of the time to develop, and they have 90% of the neccesary security requirements built into them, especially on a win2000/NT platform.

The only applications that are developed in C or Assembler are operating systems.  Thats not completely true, C++ is used to develop major applications.  Things people plan on selling.  But 99% of the software development done these days is purely high level.  They want it fast, they want it to work, and they want it to be cheap.  They dont mind spending 2G to put it on its own server if it saves them 35G worth of development time.
---Andrew
If you are reading this, you are probably on my ignore list.  Click here to return the favor

Wagella Wrote:Yay for Bigotry!!

---Andrew

Katia's Lover

  • I'd Walk A Thousand Miles...
  • *****
  • Posts: 1325
    • AOL Instant Messenger - GSUCarltonFan
    • View Profile
    • http://www.southern-connection.com
    • Email
Programming languages
« Reply #8 on: March 25, 2003, 12:12:58 pm »
I can't believe you guys are actually arguing over computer code... that's freaky.
katiakaysha: you win
katiakaysha: you're right

I'm on a mission to piss the world off.  Is it your turn yet?!

http://losersareentertaining.blogspot.com/

kev222

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3194
  • zero vector
    • AOL Instant Messenger - k3v222
    • View Profile
    • http://www.kev.nu/vc
    • Email
Re: Kev...
« Reply #9 on: March 25, 2003, 05:34:32 pm »
Quote from: "Grakthis"
Ok, I tell you what.  My client needs an application to display their flow rate over a three minute period for 58 different scanners.

You develop it using C and Assembler and i'll develop it using an OO language, and we'll see who gets done first.

I'm not gonna stand here and tell you OO programming is more efficient or uses less resources, or runs faster or blah blah blah

What i AM gonna tell you is that they work, they are easy to develop, they take about 1/50th of the time to develop, and they have 90% of the neccesary security requirements built into them, especially on a win2000/NT platform.

The only applications that are developed in C or Assembler are operating systems.  Thats not completely true, C++ is used to develop major applications.  Things people plan on selling.  But 99% of the software development done these days is purely high level.  They want it fast, they want it to work, and they want it to be cheap.  They dont mind spending 2G to put it on its own server if it saves them 35G worth of development time.


You're perfectly right Andrew. OO is better for business. But not good for programming as a whole :( Fast and Cheap has become the primary focus at the cost of everything else. I don't think that anybody can reasonably argue that Java, C++ or VB are a more technically proficient language than C. OO is slow, C is fast. OO is big, C is small. C can be formally specified (allowing you to prove mathmatically that a C program will/will not do certain things), OO cannot be formally specified. C promotes understanding of the underlying architecture, OO prevents it.

Like most things Money/Big business has corrupted programming. OO languages are dreadfully bad from a technical point of view, but because it is easy to use and learn it is used in the "real word". Laziness dictates all. This is why small teams of open source programmers using C, produce products that are many times faster, smaller, efficient and secure than the equivelent products of a large corporation like Microsoft. Their development equipment (the language) is simply better. Although the skill level requirement of each team member needs to be higher (a bad idea in the business world). The industry sacrafices quality to the OO beast in exchange for development speed and programmer skill level requirements (i.e. money). And we're the ones stuck having to upgrade our computers to run the latest programs.

So it seems we were arguing different (and equally valid) points. OO is better from a businessman's point of view. But from a purist's point of view C is more attractive.

Plus all the fun stuff can't be done in OO, it needs C or assembly :) Example. I guess I'm just too much of a nerd for wanting to do things like these *sigh*

-Kev

Will

  • Moderators
  • Fine as dandelions
  • *****
  • Posts: 1735
  • Advanced anti-spam registrations filter
    • View Profile
Heh...
« Reply #10 on: March 25, 2003, 08:08:37 pm »
I saw this thread and I'm all "did I create this? I don't remember doing that." LOL.

And Andrew, if she wants to be serious about programming, then yes, hell yeah I'll recommend asm as a first language. I don't expect anyone to do any major projects in it though. Getting down to the metal helps you understand how the computer runs at the most basic level. You kinda get into the mentality and you know what kind of programming will run faster and more efficently at a higher level.

And yes, I think OO is for the lazy. Doesn't mean I don't use it when it is the best suited thing for a particular problem. And besides, every major programming project these days seems to use it. If you don't know it well, you can't work all that well in a team.

Most of the stuff written in OO languages these days doesn't need it. A good procedural language is pretty powerful if you know your way around it. And yes Andrew, I think I could beat your deadline thing on most projects in a decent prcedural language. Hell no am I going to do most stuff in asm. Cuts down on portability too much. Just small parts that can take lots of improvement from it's use.

Pretty much, you have the attitude of a computer engineer. Very practical. Like you came from a trade school. I am more of a computer scientist. Someone who studies theory for the sake of knowing it, not necessarily looking at the practical aspect of things. A strictly academic pursuit. Not practical in the least. But, I know computers very well. If I want to get practical, I can do so really quickly. That is because I understand how this machine works at the most basic levels. I fully understand what is going on.

But, I closed my post by saying that if she just wants a taste of programming, take a VB class. I'm just giving my recommendations on how I would go about being a good programmer. If I were to take one programming class in my life and not do anything more about it, I would take a VB class.

But, good code is beautiful. Would you believe that I print out beautiful code when I find it, just to read later? Kinda like high tech poetry.
"Of all the things I've lost, I miss my mind the most." -Ozzy Osborne

kev222

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3194
  • zero vector
    • AOL Instant Messenger - k3v222
    • View Profile
    • http://www.kev.nu/vc
    • Email
Re: Heh...
« Reply #11 on: March 25, 2003, 08:33:50 pm »
Quote from: "m125 Boy"
But, good code is beautiful. Would you believe that I print out beautiful code when I find it, just to read later? Kinda like high tech poetry.

Erm... I think you just crossed the line :? lol.

Potentially interesting fact: Frontier Elite II was the last computer game to be written entirely in assembly language.

-Kev

Will

  • Moderators
  • Fine as dandelions
  • *****
  • Posts: 1735
  • Advanced anti-spam registrations filter
    • View Profile
Re: Heh...
« Reply #12 on: March 25, 2003, 09:47:02 pm »
Quote from: "kev222"

Potentially interesting fact: Frontier Elite II was the last computer game to be written entirely in assembly language.
-Kev


Better change that to "commercial computer game." I'm working on a version of breakout right now for the TI-83 Pluses we have at school. While I could use the built-in lobotomized BASIC, it is much too slow with most of the commands, especially the graphics one.

So, I'm using my mad z80 assembler skillz (so mad, they were nonexistant before this project  :wink:) to write the program. So far, I am getting it to display my opening graphic. I still need more tech docs though. I don't know enough about the internals on the sucker to do much of anything.

Oh well....
"Of all the things I've lost, I miss my mind the most." -Ozzy Osborne

Vaines

  • You're a Genuine Wannabe
  • *
  • Posts: 3
    • ICQ Messenger - 99253196
    • MSN Messenger - lukehansolo@hotmail.com
    • View Profile
    • http://users.skynet.be/hsu/
    • Email
Programming languages
« Reply #13 on: March 26, 2003, 06:18:03 am »
I personally started with C++ and Pascal. I know some people prefer C at the expense of C++, but I personally prefer C++ to C.

The thing is, if you have a very clean mind, and are a perfect organisation freak (which I think is impossible but oh well  :wink: ) it would be better to start off with Pascal, as it has everything clearly stated, etc...

When you write a program in Pascal, it is very easy to see where the error is. However it does take quite some time to write even a simple code, and does require some interest of the person starting.

I will say no more, but Viva C++!

/me puts his helmet on, ready to get flamed :)

kev222

  • VCUBs
  • Keepin' secrets at midnight
  • *
  • Posts: 3194
  • zero vector
    • AOL Instant Messenger - k3v222
    • View Profile
    • http://www.kev.nu/vc
    • Email
Programming languages
« Reply #14 on: March 26, 2003, 07:35:11 am »
Quote
/me puts his helmet on, ready to get flamed :)

Damn straight. All advocates of C++ should burn at the stake! lol J/K ;)

I like C++ for one reason, it has a C as a subset :) So you can ignore ALL of the object oriented constructs. haha.

-Kev