Advertisement

Programming is so Fragmented.

Started by April 02, 2014 04:52 PM
25 comments, last by TheChubu 10 years, 9 months ago

This all depends on the type of programming that you are doing. If you are a web programmer this involves dozens of APIs and Protocols and gluing together various bits of code in different languages. If you are writing a mobile app you can pretty much get away with using a single language and the vendors SDK for most of the stuff. If you are coding a game with an engine such as Unity you can get away with using a single scripting language and no APIs other than the engines.

Now your goal is to write a program to teach other people how to program and it should be language agnostic. Now you really need to break this goal down. Do you mean any language? Any object oriented language? Strongly typed language?

I think you need to lower your goals. If you are an expert in one language it you can easily pick up and start to use another language fairly easily but, this does not mean that you can teach a newcomer multiple languages all at the same time. Some of the differences would be too vast. Whilst some languages seem to have very similar syntax such as Java and C++ there are subtle differences which would only confuse a newby.

Take a look how other people have approached programming learning.
http://codecombat.com

http://railsforzombies.org/

http://www.codecademy.com/

I don't know how you all do it, but I always get very good and informative responses on this website.

I think you all called it right. I need to focus (a long running issue of mine in general) on one task. I get distracted easily, and I tend to bite off more than I can nibble.

I think one main thing might be that it is not just programming, but that it is game development I am doing, which involves so much, and I am doing it all myself. Yet, I want it to be top notch.

I need voice actors and good sound effects and good art, and solid code etc. And I hadn't even thought about publishing.

3Ddreamer, you called it exactly right. I am digging to deep without enough skill or equipment, and I happen to be a big picture type of person, but the picture is so big I can't really see it.

I am going to look at all of the suggested material here though. Thanks again.

They call me the Tutorial Doctor.

Advertisement

Write GLSL. Draw all the fragments.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

Thanks Buster2000 for those links. I like the setup of tryruby.org. It actually reminds me of codecademy.

I honestly think codecademy has a good setup for learning programming, but they don't have a lot of "big picture" areas, so people are learning programming, but aimlessly.

Also, I would like to do the courses offline, which they haven't done accept for an iPad app called "Hour of Code."

I have been thinking about writing a book or making a video, but I do think interactivity is the best way to go about teaching and learning most things. Yet, when you want to do a follow-along, all of the students have to have the same setup as you do. I was looking at a Harvard course where they made a custom OS so that everyone would be using the same OS and can follow along in the course.

I also think that making something useful while learning gives a good sense of the "big picture" also, and gives you a sense of progress.

Right now it looks like the best tool for basing a programming tutorial off of is the iPad, and having people download a single app with a built in API and compiler.

Right now I use Pythonista and Codea (can't find any good javascript or ruby apps yet). I am currently having trouble recording my iPad screen (I do have a mac, but I guess such a thing is not straightforward unless you are using a paid screen capture software).

They call me the Tutorial Doctor.

I honestly think codecademy has a good setup for learning programming, but they don't have a lot of "big picture" areas, so people are learning programming, but aimlessly.

I think you are sort of missing an important point here though. You cant make games without learning the basics of programming which is the same no matter what area you intend to go into after. Thats what codecademy is doing. Teach you the basics, the syntax and concepts of whichever language. for example,

I need voice actors and good sound effects and good art, and solid code etc. And I hadn't even thought about publishing.

should not be things you are thinking about when trying to make a simple tic tac toe game in the console. Those are things well down the line. You are trying to mix the future issues of making a game with the basic issues of just learning a language which Im guessing makes things even more difficult.

Here's how its been for me.

I played amazing games and wanted to write them too. I wanted to write AAA, 3D epics that outdid the games I was playing. But I couldn't. I barely understood C and had no ability to create graphics.

So I wrote text adventures. Lots and lots of them. For years. Then I stumbled into GUI stuff using RAD tools of the time, and wrote bad GUI based games. For years. Then I found DirectDraw and wrote really simple 2D games. For years.

The important point I'm making is that during the time I couldn't write the sort of games I could imagine (that's still true today, 20 years on by the way, because games have progressed far faster than I have) I was instead writing the kind of games I could manage.

These days, I still can't write a AAA blockbuster game, any more than I could make a AAA movie using the camera on my iPhone. But I'm worlds away from where I started, and I've had enormous amounts of fun. And the base of skills I developed like this meant I got the opportunity to write code for a living today too.

[EDIT: I would qualifiy that slightly though - back then the content-creation tools didn't exist like they do today. I'm seeing people with very little experience make games with Unity for example that are still way beyond what I could do with just a C++ compiler and Direct3D for example. You can move forward much faster if you stand on the shoulders of giants these days. I like programming. If your goal instead is to quickly make games, there are a wealth of options today]

Advertisement

not only the vast amount of topics (thousands) in programming is a problem but I also encounter the 'demotivation states' per self (for example last year i was feeling some quite strong overvork symptoms (like my head crackle ) but this year when i decided to slow down, recently i am in state that i feel ok but just cannot make myself to code anymore (I always feelt some attraction to coding, last days this atracction decreased just to zero or less (first time in my life probably) - probably I must wait and hope i can go back after some days again)


Write GLSL. Draw all the fragments.

You shouldn't be drawing all the fragments, you should be culling them, which interestingly could also be the answer to OPs problem.

@OP

I can relate, as I'm kind of going through a similar phase. I find that forcing yourself to work only with one particular API using only one particular language helps give purpose and focus to your programming being again. There are many ways to skin a cat, and if you try to do it every possible way at once, you will get exactly nowhere.

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty

You are thinking about big problems, break them down until they are a small task or you will never be able to sleep at night. Programming should be fun regardless of what language you pick. As you can see in this thread people will give different answers based on their experience and all will have good reasons for their answer. The fact of the matter is the language you pick is based on the project and goals, however if the project is unrealistic and goals not planned carefully you will have a lot more problems than simply the language.

Just be careful when doing research, languages are like religions and there is always an insecure war going on to convert or destroy others


Programming should be fun regardless of what language you pick.

Wow! You know, programming hasn't really been fun for me, mainly because I am crunching to learn as much as I can (I want to get a job doing it somewhere ASAP.)

I have been thinking about robot programming, as robots can serve useful functions (but that is yet another whole world). I guess I really haven't set a clear goal, because I am not sure of the span of applications computer programming in general can cover, and what level of skill I need to have in order to get even the most basic and skill-less computer programming job (I'd take that right about now). Been even thinking about just getting a simple computer job (no programming required).

I do get a certain thrill out of programming something that works well and serves a useful purpose. I will certainly take your advice about research, as I have witnessed that type of behavior in every field I have researched, from medical wars to religious wars to scientific wars, to mathematical wars etc.

They call me the Tutorial Doctor.

This topic is closed to new replies.

Advertisement