NESSAholics.com
Other Topics => Completely Off-Topic => Topic started by: Will on March 24, 2003, 11:54:30 pm
-
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)
-
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 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...
-
Have I mentioned lately that i STILL dont like M125boy?
I have to remind him of that every so often, keeps things fresh. :wink:
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.....
Andrew.Cool = Andrew.Cool - 1
ROFL
---Andrew
I fixed your formatting -KevMod
-
:x
Damn thing removed my formatting! now my code is unreadable! Grrrrr!
---Andrew
-
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)
-
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)
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!!!
-
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
-
I can't believe you guys are actually arguing over computer code... that's freaky.
-
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 (http://www.kev.nu/misc/win32.txt). I guess I'm just too much of a nerd for wanting to do things like these *sigh*
-Kev
-
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.
-
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
-
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....
-
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 :)
-
/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
-
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. anything.
Sounds like a fun project :)
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.
Tech docs, Pffft. Open the bad boy up and have a look around. lol
-Kev
-
Out of pure interest. What is a TI-83? All I know so far is that it contains at least one Z80. lol
-
Out of pure interest. What is a TI-83? All I know so far is that it contains at least one Z80. lol
It's a calculator by Texas Instruments. Here in the states, all the highschool/college kids have 'em for Trig->Calc
Could prolly find some info on them at http://www.ti.com. I actually had the TI-83 as well whereas some friends had the TI-85. I liked the sexy sleek design on the 83 :)
-
Thanks Katia :)
Cool. We have the casio equivelent over here. It had a stripped down basic interpreter in it as well :) It nearly ruined my A-levels because all we did was code games instead of learning. It was quite funny (well not really) because as we learnt the maths for projectiles and things in class our games got more advanced using the equations hehe. By the end of the 2 years we had worms style games (mine was called blasters) with deformable scenery and proper projectile motion with wind and gravity :D That was my very first programming. Good times.
The bad thing about them was that you couldn't program in assembly for them. I keep meaning to replace the mask ROM inside with a flash ROM or EPROM so that I could use the machine language, but eh... I'm too lazy :-/
You could overclock them too :) The older model had a 3.5 MHz resonator in it and we got a 15% speed up by replacing it with a 4 MHz. I tried 4.2, but it was too unstable :-\ The newer ones (which we got later) used 8 Mhz (presumably the Z80's in the TI-83 are 8 Mhz too?)
Okay.... I've been talking about a calculator for way too long :-\ Just a bit of a trip down memory lane, that's all :)
-Kev
-
As far as I know, the z80 runs at 6 MHz in the TI-83. I could be wrong though.
Manuel doesn't say. Not much on the official site. SDK doesn't say much about the nitty gritty. They want me to use their own system calls and not directly access hardware. Screw them. And their signed code.....
Maybe I'm not looking hard enough. :-\
Oh well, I'm getting an Voyage 200 soon. I belive it uses a 68k. Back at home. :-D
-
Manuel doesn't say. Not much on the official site. SDK doesn't say much about the nitty gritty.
Open it up and have a poke around ;) that's what I did. If it's anything like the casio, the only significant ICs in there are the CPU, SRAM and ROM (exclusing the ones associated with the display, which was a simplified 12 (or so) line module in mine). You can figure out the RAM/ROM/Display pin-outs, memory address mappings and IO ports (if any) using just a multi-meter.
This is all presuming the SDK isn't restrictive in the instructions/address modes that you can use. Is it just sraight Z80 assembly?
Of course, it depends how willing you are to risk breaking the calculator. I once fried an X-Box doing similar stuff :-\ $300 down the drain. lol (although I only got it to mess around with inside ;))
-Kev
-
Of course, it depends how willing you are to risk breaking the calculator.
That is the problem. I don't actually own a TI-83 Plus. I emulate it at home. I actually use it at school. The program I use to emulate it is open source, so I guess that I could poke around a bit and deduce a few things. Still, can't pop open the cover or anything. Oh well.
I'll figure this stuff out. I'll get my program to work, even if I have to use their dirt slow system calls. :-\
-
Will, I cannot believe you just compared programming to Art. You seriously need to get out of the house. Please. Go see a play. Read a book. Go on a date. SOMETHING.
Yes, Kev, I agree with your basic premise. Each language has a purpose and a use. I certianly don't think that ASM and C are dead languages. I think they are neccesary and they have their place. Their place just isn't in 90% of the development that is done these days.
BTW, I completely disagree about the MS slander. MS does things a LOT more efficiently than you guys seem to want to give them credit for. I dont know if you've noticed, but MSSQL 2000 runs almost as fast as oracle on anything but the largest of machines and applications.
Also, Win2000 and XP are VERY robust operating systems. Ive run Unix, ive run linux. Im not THAT impressed with either of them.
So in summary, Kev is right, and Will is nuts.
Anyways, Jason is making me watch a video of himself in Bosnia :wink:
Its actually pretty damn funny. hehehehehe.
---Andrew
-
Agreed.
BTW, I completely disagree about the MS slander. MS does things a LOT more efficiently than you guys seem to want to give them credit for. I dont know if you've noticed, but MSSQL 2000 runs almost as fast as oracle on anything but the largest of machines and applications.
Yeah, Microsoft aint so bad. They were just the first large software corp that I could think of. I'm also just bitter for reasons of personal preference. But hey. that's why Bill Gates is swimming in money and I'm flat broke. lol
Besides any company that designed that MS-office sodding paper clip "helper" deserves some critism at least.
-Kev
-
Will, I cannot believe you just compared programming to Art.
I did not compare it to art. It is art. I look at a beautifully written algorithm and I marvel. Most of the good ones make a complex problem look simple. Maybe you have been programming as a job for too long if you don't see that anymore.
I program because I think it is beautiful. Not because someone pays me to. I enjoy doing it.
Programming is pure reasoning. It is beautiful.
Besides, would you say the same thing if I said I marveled at wonderfully designed cars? I know people like that. Most people don't consider it abnormal. A wonderfully designed program is the same thing to me.
You seriously need to get out of the house. Please. Go see a play. Read a book. Go on a date. SOMETHING.
Oh yeah, maybe I should tell you that I am a classically trained pianist that is fairly proficent on dozens of instruments and that I am in five projects and two school bands right now. In additon, I do audio consulting work and I am currently a voluenteer for an upstart community access television station. Now, you can tell me to get a life. :wink:
Will is nuts.
Tell me something I don't already know. :wink:
Also, Win2000 and XP are VERY robust operating systems. Ive run Unix, ive run linux. Im not THAT impressed with either of them.
Yeah, I think that they are unfairly dissed because people still have a bad taste from the Windows 9X series. But, I still think that they are dreadfully insecure. Come back when any version of a Windows server OS has had only one default remote root exploit in seven years (OpenBSD).
Honestly, I use Windows a lot. I run 2k Pro on one of my desktops. But, I just like the ability to strip down an OS to it's bare bones just for security and resource reasons. Why should a GUI, let alone a web browser always be active on a server? Do we need DirectX on a server? Yeah, they probably won't cause trouble, but simplicity is security. The less components you have, the less you have to worry about some obscure security bug that sometimes shows up in complex systems. You simply can't strip Windows down like you can with Linux or a BSD.
Yeah, Windows works. Sometimes, it works well even. But, it doesn't mean that it is an elegant solution. I'm not in buisness. I am going to use the most elegant solution because it doesn't matter how long it takes for me to get it to work.
Pretty much, Windows seems like it is the best tool for what you are doing. So continue to use it!
But as for me, practicality has little to do with my choice in software.
-
YAY! Three cheers for BSD!
*goes back to lurking in this thread*... Will needs a date... *nods*
-
Will needs a date...
If I need one that badly, someone give me money to travel to see my girlfriend. :wink:
It's only 625 miles. :-P
-
I didn't see that will replied to me! Yay!
Ummm, oh yeah. That big list of things you do.... none of that means you have a life. Because none of those are SOCIAL activities. Im serious man. Im not just being mean here either..... date someone in PERSON. Not over the internet. Go to a party. Hang out with people YOUR age.
And for GOD'S sake! Don't program things for FUN!
And as for the car being art thing.... a car's EXTERNAL appearance can be "art". If someone tried to tell me that the way a car worked was art, I would laugh at them.
Then again, I believe strongly in the idea that "art" is a subjective word. Kinda like "sport". What is and is not a sport or what is and is not art varies from person to person. But that doesn't mean I can't make fun of your defenition :wink:
---Andrew
-
Im not just being mean here either..... date someone in PERSON. Not over the internet. Go to a party. Hang out with people YOUR age. And for GOD'S sake! Don't program things for FUN!
Bah! I say do what you want.
-Kev
-
LMAO!!!
Ask a stupid question! :D
LOL
thanks guys this was really more than I ever imagined
totally and wwwwwwwwwwwwwwaaaaaaaaaaayyyyyyy over my head ...
in fact i'm sure some piolet (sp?) flying overhead just got a facefull of programming language info LOL
but I reallllllllly appreciate it :-)
you guys rock :D
I dropped the course but attend classes it's the Zena way :-)
:arrow: HAPPYZEN = biggest nerd on the forum :-)
I made my Java program roll a die!!! LOL :D
yay me!!! :D
-
:arrow: HAPPYZEN = biggest nerd on the forum :-)
you say that after all that talk? lol you have low self esteem hun. no offense to the computer wiz guys. i love nerds :lol:
Fixed your double post ;) -KevMod
-
And as for the car being art thing.... a car's EXTERNAL appearance can be "art". If someone tried to tell me that the way a car worked was art, I would laugh at them.
You don't know enough engineers then. The non-computer sort. The same type of people who marvel about how beautiful the design of the Saturn V or the Hoover Dam are.
And as for real life socializing. Who said I don't? Stuff is just too crazy to go visit some friends during the week. Doesn't mean I don't do junk on weekends.
-
I learnt to program in Turbo Pascal. Now I'm using Delphi 6. I switched because Delphi Applications allow me to control Excel with OLE automation.
-
You know what Will.... im gonna chalk this up to you being 16 and not knowing any better. Programming is not art. Engines are not art. Engineering is not art. Art requires immagination. I'm a programmer (well, really, im a solutions provider first, programmer second), and while programming requires ingenuity (sp?) it does NOT require immagination.
We old people have the advantage of being able to settle disagreements that way. We just say "You're too young to understand". And instantly, we win. It's nice. One of the few advantages of getting old.
And i still don't like you.
---Andrew
-
The problem that I see with this is that "art" is not properly defined. Andrew, you have only just now given a (partial) definition, that definition being that art requires a certain amount of imagination. Will has yet to provide a definition, although I suspect it woukdl differ from your's.
So this goes the way of most debates before it, which is that you're both arguing valid points from the basis of different definition domains. Just as we were arguing which type of programming language was "best" earlier, using different definitions of "best".
Who has the authority to define art absolutely?
The eldest perhaps? lol
-Kev
-
Right. I define "art" as:
the second person singular present indicative of "be".
Programming and engineering fit very nicely into that definition, don't you think?
;)
-
We old people have the advantage of being able to settle disagreements that way. We just say "You're too young to understand". And instantly, we win.
Maybe in your own universe. Einstein came across the same thing with the scientific establishment at the time. But, even though I'm no Einstein, it goes to show that age doesn't win an arguement. Would you really like to argue that Newtonian physics is more accurate than Relativistic physics?
Nah... maybe in your own mind, age wins arguments. In the real world, it doesn't.