When I say self taught... I don't mean I sat down and started playing around (well that is how I started but...) ,I actually took the time and money to invested in the resources and actually study How and Why the computer works and the best ways to program it.
I have a descent sized personal library of about 40 books on programming and computer theory...
From memory structure, assembly, C/C++, Pascal, ..., all the way up through graphics, and web application programming
...Which, over the last 8 - 10 years, I have read a majority of.
Not to mention every thing I have learned out of the books through personal experiences, trial & error, reading through open sorce code, and web tutorials and discussions.
If one way works and another does not which is the right way?
For a year or 2 I just studied how to optimize code. Which I learned a lot while doing so. Like if you are going for speed, you need to use integers instead of floating point numbers. If you know that a given value will always fit in an integer don't use long integers. If it will fit in a byte then use that data type.
I am not saying I know every thing about Computers...
(I'm sure there is a thing or 2 I overlooked ;-) J/K)
Like I said above... I WOULD like to get a CS/IT degree BUT if I am going to spend thousands of dollars on the class, I want learn something, and not just get a piece of paper that basically says I wasted X dollars to find out I already knew what they were teaching.
I know how to write a basic assembler and compiler...
I know how to make java programs and web pages...
If I take a CS class I want to learn everything that I don't know but need to.
From what I have rescently been hearing it sounds like a majority of the CS classes are just teaching java crap...
They should be teaching how an operating system works, why it does what it does, and you should be able to leave the class with the knowledge to be able to create your own OS and everything else from there up.
Hell, I know people with CS degrees that can't explain how binary math works (which doesn't exactly take a rocket scientist to figure that out). Now do you want to tell me why the have any business holding a COMPUTER SCIENCE degree???
After all, computer science is based on 1s and 0s, every thing a computer does is based on the science of aranging those 1s and 0s in a specific order to compute the requested data...
If you can't understand that concept... find a school that teaches it.
Bottom line...
Where I work, I am a drafter, I draw 3D models and prints on cad programs such as SolidWorks, AutoCAD, MicroCADAM/Helix.
We use a PDM system to control the data for the parts, check in the drawings/models, and control revisions.
We have a team of programmers, that have CS degrees, where their main job is to write programs that speed up processes and comunicate between the different programs...
It takes them about a month or two to write a halfway descent program.
It takes me about a week, while at the same time doing my normal work, to make a program that does the same thing as 10 of their programs, plus has other features, and at 10 times the speed of their programs. Why? Because I know how to use objects to their max potential, Optimize the code to do multiple tasks at once, and I am coming from the Users perspective... I am using the software, I know what I want it to do, I know how to make a program to make it do what I want it to, so it ends up being a program For The User - By The User.
As it turns out, everyone started using my apps instead of the other teams because mine worked great and ran fast, where the 'CS' teams were buggy, hard to use, and slow.
Don't get me wrong, I know that a class is only as good as what you get out of it... BUT, PLEASE tell me they are still teaching actual computer science curiculum in the classes and not just web design Tech-School ($50 class) stuff, that you can learn in a day on the internet.
So...
what exactly do you mean by...
But do you know why it is the right way? Or do you think that is irrelevant?
Have Fun, Be Young... Code BASIC
-Josh Stribling
I have a descent sized personal library of about 40 books on programming and computer theory...
From memory structure, assembly, C/C++, Pascal, ..., all the way up through graphics, and web application programming
...Which, over the last 8 - 10 years, I have read a majority of.
Not to mention every thing I have learned out of the books through personal experiences, trial & error, reading through open sorce code, and web tutorials and discussions.
If one way works and another does not which is the right way?
For a year or 2 I just studied how to optimize code. Which I learned a lot while doing so. Like if you are going for speed, you need to use integers instead of floating point numbers. If you know that a given value will always fit in an integer don't use long integers. If it will fit in a byte then use that data type.
I am not saying I know every thing about Computers...
(I'm sure there is a thing or 2 I overlooked ;-) J/K)
Like I said above... I WOULD like to get a CS/IT degree BUT if I am going to spend thousands of dollars on the class, I want learn something, and not just get a piece of paper that basically says I wasted X dollars to find out I already knew what they were teaching.
I know how to write a basic assembler and compiler...
I know how to make java programs and web pages...
If I take a CS class I want to learn everything that I don't know but need to.
From what I have rescently been hearing it sounds like a majority of the CS classes are just teaching java crap...
They should be teaching how an operating system works, why it does what it does, and you should be able to leave the class with the knowledge to be able to create your own OS and everything else from there up.
Hell, I know people with CS degrees that can't explain how binary math works (which doesn't exactly take a rocket scientist to figure that out). Now do you want to tell me why the have any business holding a COMPUTER SCIENCE degree???
After all, computer science is based on 1s and 0s, every thing a computer does is based on the science of aranging those 1s and 0s in a specific order to compute the requested data...
If you can't understand that concept... find a school that teaches it.
Bottom line...
Where I work, I am a drafter, I draw 3D models and prints on cad programs such as SolidWorks, AutoCAD, MicroCADAM/Helix.
We use a PDM system to control the data for the parts, check in the drawings/models, and control revisions.
We have a team of programmers, that have CS degrees, where their main job is to write programs that speed up processes and comunicate between the different programs...
It takes them about a month or two to write a halfway descent program.
It takes me about a week, while at the same time doing my normal work, to make a program that does the same thing as 10 of their programs, plus has other features, and at 10 times the speed of their programs. Why? Because I know how to use objects to their max potential, Optimize the code to do multiple tasks at once, and I am coming from the Users perspective... I am using the software, I know what I want it to do, I know how to make a program to make it do what I want it to, so it ends up being a program For The User - By The User.
As it turns out, everyone started using my apps instead of the other teams because mine worked great and ran fast, where the 'CS' teams were buggy, hard to use, and slow.
Don't get me wrong, I know that a class is only as good as what you get out of it... BUT, PLEASE tell me they are still teaching actual computer science curiculum in the classes and not just web design Tech-School ($50 class) stuff, that you can learn in a day on the internet.
So...
what exactly do you mean by...
But do you know why it is the right way? Or do you think that is irrelevant?
Have Fun, Be Young... Code BASIC
-Josh Stribling