The biggest disappointment about programming

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

Edited By fobwashed

Every now and again, I'll look at my code, and realize that it's all very basic. Not that the game itself is basic but that when you boil down any part of the game, it all becomes about the same. A bunch of "if this happens, then do this" or just an even more basic "do this math. do this math. do this math." over and over again.

Prior to learning a programming language and writing something, I had these vague ideas about what it'd be like to code and really get into the guts of a game. I knew that it wouldn't be like the movies made it, all working with 6 monitors, 3 keyboards, and 3D interfaces (I'm lookin at you swordfish) but I also didn't think it'd be so rudimentary. I thought there'd be some like, kung fu involved. Some small amount of wizardry. And when I first started and looked at some tutorial packages with walls of codes and methods, I was sort of like "wow" but as I became more proficient, it became more and more apparent that it's all the same stuff rearranged into a different order.

I'd think a comparison would be with something like movies where if you break it down and go behind the scenes, it's pretty awesome. You watch a making of or a listen to a directors commentary and it's a goddamn adventure making a movie. It's all this cool shit. If there's an action scene where things blows up and actors go flying, to make it, they actually filmed people go flying in directions on wires or something. They're pretty much doing what you'd think they'd be doing. Awesome shit. Movie magic.

If you went behind the scenes for a game, there's still cool shit there like coming up with all the ideas and story that's going to go into the games, making the art and sounds and whatnot but at it's core, at it's foundations, what I'm doing now. . . it's just lines and lines of very similar looking code. There's no magic or sweetness. It's just a ton of if statements and math. There's some higher level math involved, but even with the math, I'd say around 90% of it is basic arithmetic. I'm talking straight addition, subtraction, division and multiplication. It's just a person sitting at a computer monitor typing nonstop. The most exciting straight coding related thing that happens, is when I figure out a way to do something in less lines of code than I currently had it. Or I rearrange a bunch of lines to make more sense. Maybe if I were working with a team. . . or even one other person, every now and again if I figured something out, I could spin around in my chair and give them a high five or something but seriously, how freaking lame is that?

Yea, so my biggest disappointment about programming is that it's twice as nerdy as I thought it was, and not even remotely close to how cool I thought it might be. That being said, I still love it. It's still building and creating something and like the guy that uses thousands of little lego blocks to make a full size Indiana Jones statue, there's a profound sense of achievement and gratification when I run the lines and lines of similar looking code, and it outputs a fuckin video game.

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#1  Edited By fobwashed

Every now and again, I'll look at my code, and realize that it's all very basic. Not that the game itself is basic but that when you boil down any part of the game, it all becomes about the same. A bunch of "if this happens, then do this" or just an even more basic "do this math. do this math. do this math." over and over again.

Prior to learning a programming language and writing something, I had these vague ideas about what it'd be like to code and really get into the guts of a game. I knew that it wouldn't be like the movies made it, all working with 6 monitors, 3 keyboards, and 3D interfaces (I'm lookin at you swordfish) but I also didn't think it'd be so rudimentary. I thought there'd be some like, kung fu involved. Some small amount of wizardry. And when I first started and looked at some tutorial packages with walls of codes and methods, I was sort of like "wow" but as I became more proficient, it became more and more apparent that it's all the same stuff rearranged into a different order.

I'd think a comparison would be with something like movies where if you break it down and go behind the scenes, it's pretty awesome. You watch a making of or a listen to a directors commentary and it's a goddamn adventure making a movie. It's all this cool shit. If there's an action scene where things blows up and actors go flying, to make it, they actually filmed people go flying in directions on wires or something. They're pretty much doing what you'd think they'd be doing. Awesome shit. Movie magic.

If you went behind the scenes for a game, there's still cool shit there like coming up with all the ideas and story that's going to go into the games, making the art and sounds and whatnot but at it's core, at it's foundations, what I'm doing now. . . it's just lines and lines of very similar looking code. There's no magic or sweetness. It's just a ton of if statements and math. There's some higher level math involved, but even with the math, I'd say around 90% of it is basic arithmetic. I'm talking straight addition, subtraction, division and multiplication. It's just a person sitting at a computer monitor typing nonstop. The most exciting straight coding related thing that happens, is when I figure out a way to do something in less lines of code than I currently had it. Or I rearrange a bunch of lines to make more sense. Maybe if I were working with a team. . . or even one other person, every now and again if I figured something out, I could spin around in my chair and give them a high five or something but seriously, how freaking lame is that?

Yea, so my biggest disappointment about programming is that it's twice as nerdy as I thought it was, and not even remotely close to how cool I thought it might be. That being said, I still love it. It's still building and creating something and like the guy that uses thousands of little lego blocks to make a full size Indiana Jones statue, there's a profound sense of achievement and gratification when I run the lines and lines of similar looking code, and it outputs a fuckin video game.

Avatar image for gpbmike
gpbmike

923

Forum Posts

1518

Wiki Points

0

Followers

Reviews: 0

User Lists: 13

#2  Edited By gpbmike

@Fobwashed: Yep. Nailed it.

For me it's not so much the code as the end product though. When Dave says, "can you do such and such?" and I have no idea but say "absolutely". The fun part is figuring out how to do it. Keep pushing yourself.

Avatar image for fluxwavez
FluxWaveZ

19845

Forum Posts

19798

Wiki Points

0

Followers

Reviews: 0

User Lists: 6

#3  Edited By FluxWaveZ

You make programming sound easy (not that I know it isn't).

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#4  Edited By fobwashed
@FluxWaveZ it's a lot easier than you prolly think it is. The hard (entertaining?) part is figuring out how to use the tools you have to produce the results you want. I think anything is possible to achieve, it's just a matter of achieving it efficiently (less calculations). Sort of like writing is easy but writing something well or meaningful is the challenge.

@gpbmike haha, exactly. But it's only fun until something doesn't work right =P One of the things that I love/hate about programming is that there's always a solution. If something doesn't work, it's because somewhere, something isn't written correctly. I love fixing bugs or encountering something and knowing what the problem is. On the flip side, sometimes hunting down the reason why something isn't working correctly has driven me near insane and in most those cases, it ended up being a simple error. 9 times out of 10 I just typed something wrong.
Avatar image for slaker117
Slaker117

4873

Forum Posts

3305

Wiki Points

0

Followers

Reviews: 1

User Lists: 11

#5  Edited By Slaker117

That Lego analogy is really good. If you look at each block individually, you see that it's completely rudimentary and boring, the way they interact with each other is adequate but uninteresting, and through out the process your creation just looks like a jumbled mess, but at the end, all your little pieces line up in just the right way to create something worthwhile.
 
Now I want to get back into programming. I love building shit.

Avatar image for thoseposers
Thoseposers

1002

Forum Posts

4106

Wiki Points

0

Followers

Reviews: 0

User Lists: 15

#6  Edited By Thoseposers

I gotta say that i almost can't imagine how hard programming used to be back in the olden days when there wasn't stuff like google around, nowadays you can easily find out how to code things now with just a simple search

Avatar image for 9cupsoftea
9cupsoftea

676

Forum Posts

4

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#7  Edited By 9cupsoftea

What language are you learning? I tried C++ and got pretty far but then it became a long slog through online forums to try and find libraries that I could use to do the most basic things (sound, windows, etc). That's what put me off - the actual coding was pretty interesting.

Avatar image for slaker117
Slaker117

4873

Forum Posts

3305

Wiki Points

0

Followers

Reviews: 1

User Lists: 11

#8  Edited By Slaker117
@Thoseposers: I could get my dad to tell you stories of programming by punching holes in cards of paper to be read optically in the university's only computer that took up a whole room. Sometimes your whole program could fail because a bit a paper didn't break off properly and you'd have to go hunting through huge stacks of cards to check, and even then, there's always the chance you just wrote bad code.
Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#9  Edited By fobwashed

@Thoseposers: I can't even imagine programming without the whole Object Oriented part -_-;; It must have been crazy to just have one long ass sheet of code with goto statements everywhere. Also, Visual Studio has something called Intellisense where you start to type something and as you're typing it, it lists all the methods, classes and whatever other relevant things that you may be trying to type out. A lot of times, when I'm calling Methods from other objects, I'll just type the Class then . and it'll list all the public methods available. A real timesaver.

@9cupsoftea: I'm using C# with XNA framework. The framework allowed me to get straight to the game coding rather than trying to figure out how to make graphics devices and inputs work. The downside is that you're not going to be able to tweak out every last bit of juice from a console but the gains far outweigh the cons. Especially since anyone who's doing this like I am isn't working at it with the goal of making the next graphical powerhouse of a game. I came in from scratch, bought a few books and was off to the races. XNA also has a great website and forums with a fantastic community and since everyone there is coding games, any problem you run into will be something someone else has already run into and most likely figured out.

@Slaker117: That sounds like a nightmare. Sometimes, I wish I'd have gotten started with this stuff back when things were way simpler but not overly simple. . . maybe the old Sierra King's Quest days. At least then I could have made something much simpler and been happy with it. Making a game that you want to play yourself nowadays is going to be way more complex just because of what's already been released. Super casual or IOs type games have a place, but it's not what I'm personally into so. . .

Avatar image for cnlmullen
cnlmullen

910

Forum Posts

3

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#10  Edited By cnlmullen

I've never written any big games, but I can tell you writing applications can get mundane.

That's the nice thing about school, every project you get pushes you to learn something new.

Avatar image for surkov
Surkov

1019

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#11  Edited By Surkov

I'm a going into my 3rd semesters(2 semesters c++, 1 java) of programming and I haven't even gotten out of the console/terminal yet. This next semester I can't do a programming class because I need to take Discrete Math first(my junior college didn't have this course).  
 
The big change for me going into a 4-year school using Unix. I have very little experience with Unix and now I'm being expect to know it on my own time. Hopefully, I'll find someone to guide me.  
 
I'm glad to hear that you still enjoy it though. I can relate to the joy of making something work after thinking it has impossible to do hours before. I am, however, kinda crestfallen that I won't be able to use all the calculus and linear algebra I had to learn for my major. 

Avatar image for slaker117
Slaker117

4873

Forum Posts

3305

Wiki Points

0

Followers

Reviews: 1

User Lists: 11

#12  Edited By Slaker117
@Fobwashed: Oh God, I don't even want to think about trying to program a fully modern game. Just all the effort that has to go to graphics alone these days with 3D rendering and everything is crazy. The 2D stuff you've been doing is still viable for "real games" though, and not that hard to get into. Oh, and my mother also dabbled a bit into computer science and was pretty good, but quit before objects really became a thing. When I was just starting out I showed her some of what I was doing, and it was all really simple stuff, but she was blown away by how powerful just the concept of OOP was. Before that, I had never really considered that there was a time when those techniques weren't widespread, it just makes so much sense.
Avatar image for scooper
Scooper

7920

Forum Posts

1107

Wiki Points

0

Followers

Reviews: 0

User Lists: 2

#13  Edited By Scooper
@Slaker117 said:
That Lego analogy is really good. If you look at each block individually, you see that it's completely rudimentary and boring, the way they interact with each other is adequate but uninteresting, and through out the process your creation just looks like a jumbled mess, but at the end, all your little pieces line up in just the right way to create something worthwhile.  Now I want to get back into programming. I love building shit.
"The beauty of a living thing is not the atoms that go into it but the way those atoms are put together" - Carl Sagan. 
 
I think that analogy also works.
Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#14  Edited By fobwashed

@cnlmullen: What types of projects do the classes have you doing? I considered taking some classes but when I looked into them, they're structured in a way where you have to take the really basic stuff before getting into any of the advanced classes so I thought it'd be a waste of time and money.

@Surkov: There are definitely areas where higher math is needed and maybe required but it's only for very specific things. When you start getting into pathing and things like that, you'll be blowing the dust off your old Trig books to be sure. I took a basic physics class and it helped a bunch when I built up my own rudimentary physics engine for my game. =P

@Slaker117: I hear there are some valid arguments against OOP. Personally, it's all I know and I feel that without it, there's just be a whole lot of copy pasting of reused code going on. I briefly considered going 3D, but that'd mean I'd either have to find someone to work with that'd do the 3D artwork for me, or learning to do it myself. Both options were pretty. . . unsavory. I don't mind working with others, but I'm jaded and feel like the only person you can depend on is yourself. . . Unless of course, there's pay involved. Which there isn't -_-;;

Btw, just in case anyone is interested, this is the project I'm working on. Be warned that I've never programmed before, and while I've drawn plenty of pictures and sketches, this is the first time I've really tried to animate something. -_-;;

The crazy thing is, all this is built from a ton of "if this, then do this" and simple math. No magics =(

Avatar image for misterchief
MisterChief

832

Forum Posts

19

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#15  Edited By MisterChief

@Fobwashed: I had been using netbeans for Java and I had intended on using it for PHP too because it supported intellisense but I started messing around in programmers notepad and I found that I don't really need that extra crap. What I'm saying is that real men use notepad.

Avatar image for ssully
SSully

5753

Forum Posts

315

Wiki Points

0

Followers

Reviews: 0

User Lists: 3

#16  Edited By SSully

@Surkov said:

I'm a going into my 3rd semesters(2 semesters c++, 1 java) of programming and I haven't even gotten out of the console/terminal yet. This next semester I can't do a programming class because I need to take Discrete Math first(my junior college didn't have this course). The big change for me going into a 4-year school using Unix. I have very little experience with Unix and now I'm being expect to know it on my own time. Hopefully, I'll find someone to guide me. I'm glad to hear that you still enjoy it though. I can relate to the joy of making something work after thinking it has impossible to do hours before. I am, however, kinda crestfallen that I won't be able to use all the calculus and linear algebra I had to learn for my major.

It sounds like your majors structure is identical to mine. I am going into my second year, with 1 semester java, the other c++. By the end of this year I will have taken calc 1, 2, another c++ class and a linux class. Needless to say I am dreading every moment of the calc classes, and extremely excited for the programming classes. There is something very satisfying about programming assignments, they seem almost impossible, but after cranking at it for a few hours and getting it done you feel like a genius once it complies and runs correctly.

Avatar image for imalizard
ImaLizard

88

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#17  Edited By ImaLizard
@Fobwashed: oh god, please add another sound to your library for punching. Dear lord
Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#18  Edited By fobwashed

@MisterChief: I applaud you in your ability to get things done with as little help and tools as possible. While notepad sounds great, I'm going to stick with what I'm using now. I guess if I really hated intellisense, I could toggle it off in the options but I actually use it a lot and it's made my life much easier. I'm more along the lines of "real men" using things that have excessive features rather than the bare essentials of what you need to get by. You know what's better than a hand saw? A gas powered chainsaw. What's better than a screw driver? An electric screwdriver with 5,000 different bits and 50 torque settings. I like having features in case I need them rather than not having something I might need. Maybe not so much with real world objects (I was joking about the 5,000 bits but not really about the chainsaw. I had to take down a small tree once and a chainsaw would have saved me a lot of time and effort), but with a computer program, give me all the options you can and I'll use what I find convenient =)

@ImaLizard: Oh man, you should have heard it when the potatoes squealed like pigs. It was terrible. It's always a matter of what to invest my time in. Punch sound effects rate pretty low compared to everything else at the moment but just for you, I'll look into it -_-;;

Avatar image for cnlmullen
cnlmullen

910

Forum Posts

3

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#19  Edited By cnlmullen

@Fobwashed said:

@cnlmullen: What types of projects do the classes have you doing? I considered taking some classes but when I looked into them, they're structured in a way where you have to take the really basic stuff before getting into any of the advanced classes so I thought it'd be a waste of time and money.

Off the top of my head:

  • Sudoku solver (java)
  • XML Family Tree language and interpreter (Adobe Flex)
  • Conway's game of life (MIPS Assembly)
  • A flash Audiosurf like game (dynamically read MP3 files)
  • Towers of Hanoi solver (Java and Haskell as examples of recursion)
  • Minesweeper (learning to use GUIs)
  • Generic brute force puzzle solver (you write attachments to solve various puzzles to learn about inheritance and polymorphism)
  • A educational kids game to teach them (java; basically an example of how to work on a large project with a group of people; do documentation; check stuff into SVN)
  • Software that zips / unzips (I/O in C)

I was a CS major for like 2 years so I've done so many I can't really recount them all.

But personally, I recommend teaching yourself stuff instead of taking classes: You learn what you want to know at your own pace. I prefer to teach myself stuff, and a book only costs a a tiny fraction of the price of a class. The only real reason to take courses is to get a degree in the field (which will make it way easier to become a real software engineer).

Avatar image for mmzone
mmzOne

305

Forum Posts

22

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#20  Edited By mmzOne
@cnlmullen said:

But personally, I recommend teaching yourself stuff instead of taking classes: You learn what you want to know at your own pace. I prefer to teach myself stuff, and a book only costs a a tiny fraction of the price of a class. The only real reason to take courses is to get a degree in the field (which will make it way easier to become a real software engineer).

I have to say that I kind of disagree with this. Having a good teacher that can nudge you in the right direction and give reasons how and/or why you should do things, is way more helpful. Now I'm not saying that learning by your self isn't a viable option, but having a another person guiding is n times faster. But then again we are arguing about opinions, and not having to pay for my B.Sc. due free education also helps.

Oh and speaking of opinions, I have never quite understood that "real men use notepad" mentality. After coming to conclusion that coding C using vi in Linux over terminal connection is crap, using Visual Studio Ulti. and its gazillions features is so much more productive.
Avatar image for cnlmullen
cnlmullen

910

Forum Posts

3

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#21  Edited By cnlmullen

@mmzOne: On second thought, I think that you have better advice than I original gave. I have some personality quarks that make it so I prefer to learn from books, but I think 98% of people do better in a classroom. For most people you are probably right.

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#22  Edited By fobwashed

@mmzOne: @cnlmullen: I sort of agree with mullen on this one. At least in regards to outright classes. I learned how to do everything from books, online tutorials and using forums and doing this allowed me to study and learn very quickly. I went went over the syllabus for the C# CS class at a local school and they would have covered in an entire semester what I had picked up in around two weeks of reading and coding. I bet the later more advanced classes would be taught at a faster clip rather than a class designed for people who've never touched a programming language before but even in those situations, you'd be learning at the pace of an entire group rather than your own. I do wholeheartedly agree with mmzOne in the area of having a good teacher. If you had someone to teach you individually how to do things and explain how things work while you're learning at your own pace, that would be ideal. In a classroom though, if you're asking about things that the class hasn't covered yet, I'm pretty certain the teacher would ask you to wait till the subject came up later on.

Using the XNA forums is very close to having a personal teacher. Any time I was confused, or just wanted to know exactly how something worked, someone had already asked the question and had it answered or I could create a new topic with the question and on average I'd have an answer within a few hours. This all depends also on the individual as well of course. Some people find it easier and better to learn with a group. I'm the nerd who'd read chapters ahead in a math book and finish up homework weeks in advance -_-;; This is mostly because I went to night school after work and I would do all my class work and homework during class rather than outside of it at home.

Avatar image for bombkareshi
BombKareshi

1042

Forum Posts

3448

Wiki Points

0

Followers

Reviews: 0

User Lists: 3

#23  Edited By BombKareshi
@Fobwashed said:
If you went behind the scenes for a game, there's still cool shit there like coming up with all the ideas and story that's going to go into the games, making the art and sounds and whatnot but at it's core, at it's foundations, what I'm doing now. . . it's just lines and lines of very similar looking code. There's no magic or sweetness. It's just a ton of if statements and math. There's some higher level math involved, but even with the math, I'd say around 90% of it is basic arithmetic. I'm talking straight addition, subtraction, division and multiplication.
If you can't see the magic and the sweetness in those things, then programming is not for you.
Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#24  Edited By fobwashed

@BombKareshi: I don't mean that the other parts of the game making process isn't awesome. Or even that the results from the code is magical. I mean that this here:

No Caption Provided

individual lines of code, is completely mundane. I still love it and enjoy doing it. It's just that my preconceptions of what it was, was more than what it really is. . . I suppose if I sat down and really thought about it, I would have figured out that it'd be something like this, but I never did that. I just thought there'd be something cooler is all -_-;; Btw, nice avi, I haven't thought of Johnny five in years.

Avatar image for yothatlimp
YoThatLimp

2545

Forum Posts

329

Wiki Points

0

Followers

Reviews: 0

User Lists: 6

#25  Edited By YoThatLimp

@fobwashed @cnlmullen do you have any tips on places to start? Any specific books?

Avatar image for bombkareshi
BombKareshi

1042

Forum Posts

3448

Wiki Points

0

Followers

Reviews: 0

User Lists: 3

#26  Edited By BombKareshi
@Fobwashed: Maybe it's because I'm a software developer by trade, or maybe it's because I didn't have any funny preconceptions about programming, but when I look at lines of code like those, I don't see anything mundane. I see the threads of unlimited possibility.
 
EDIT: Glad you like the avatar, by the way. :-)
Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#27  Edited By fobwashed

@Metalideth: Wholly depends on where you're starting from and what you're trying to do. If I can assume you're starting from the beginning and want to make games, I recommend what I started with which was "Visual C# Step by Step" by John Sharp for your C#, and "XNA Game Studio 4.0 Programming" by Tom Miller for your game specific coding. Beyond that, I found it really helpful to lurk on the XNA forums and read every question and answer that had remotely anything to do with something you might use in the future. Even if you don't remember it exactly, you've got that little tid bit in your brain and maybe it'll bubble up when you need it someday. Also, it's interesting and keeps you thinking about the possibilities, which are endless.

@BombKareshi: 100% agree with you sir.

Avatar image for fancifulunicorn
fancifulunicorn

60

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#28  Edited By fancifulunicorn

Oh man, I made a game with C# and XNA!  It's called Cascade.  It's not too great but yeaaah:
 
http://www.brentdporter.com/index/interactive
  
I know what you mean, though.  When you tell people you've been writing programs and junk they're like "OH MAN YOU MUST BE AWESOME AT MATH".  But nope, it's usually just a collection of REAALLY simple no-duh statements.

Avatar image for wickedfather
WickedFather

1694

Forum Posts

7

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#29  Edited By WickedFather

I was going to write a programming book called "It's All Dot Product" because when you're making 3D engines bloody everything boils down to dot product.  Who would have thought that damn thing had any use.    Summation of series also came into play unwittingly when I was doing camera chase code for working out its position with a varying framerate.  Who knew all that crap would turn out to be useful.

Avatar image for mikes
MikeS

21

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#30  Edited By MikeS

I've got a bachelor's in CS from the University of Michigan, have built a few games and am working on one right now, and basically I cannot see myself programming for the rest of my life. My goal now is to use the things that I have built to get a design job somewhere because designing and coming up with ideas for games is WAY more fun than the nuts and bolts assembly of games that is programming.

Avatar image for alphazero
Alphazero

1653

Forum Posts

2448

Wiki Points

0

Followers

Reviews: 23

User Lists: 10

#31  Edited By Alphazero

I have to agree with Carl Sagan, it's not the atoms.

You can build complex castles of logic in the sky out of nothing but letters. It's flat out amazing. You can build the tools, then the parts, then the machine, and make the machine dance. Don't get lost in the mundane details, where so many of the problems lie, remember the whole.

Avatar image for fear_the_booboo
Fear_the_Booboo

1228

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 3

#32  Edited By Fear_the_Booboo

Maybe I'm off topic here. Your opinion about movie-making is somewhat wrong.
 
Hollywood making-of makes things look a lot more glamorous than they are. Most of the time, lot of editing is involved. Being an actor can get weird cause you will sometimes only play by 10 seconds shot and your performance will be edited as shit.
 
Still, sometimes, it is an adventure, like you say, and it si really rewarding.
 
I've done a simple game in school once, and while writing code can seems really weird, when it all comes together, it's also really rewarding.

Avatar image for ahoodedfigure
ahoodedfigure

4580

Forum Posts

41781

Wiki Points

0

Followers

Reviews: 6

User Lists: 64

#33  Edited By ahoodedfigure

Coders have my undying respect. They're the engineers and the builders. They're right when they say you have to love coding if you're going to make a living out of it, to see the forest for the trees. Cool insight, thank you.

Avatar image for trevion
Trevion

21

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#34  Edited By Trevion

@BombKareshi: @Fobwashed: I think BombKareshi's basically right here, although I'd come at it from a slightly different angle.

First, and this is mostly an aside, I was mildly amused by your comment about 90% of programming being basic arithmetic. The only thing that computers do is basic arithmetic. Look at a block diagram for any processor you want to mention (this diagram for a Bulldozer module is pretty typical) and all you'll find is a bunch of silicon that adds numbers in registers, a bunch of silicon that sets the instruction pointer (i.e., adds numbers in registers) and a bunch of silicon that attempts to make memory access not slow (i.e., stores values in registers). Look at a GPU, and you'll find a bunch of things that add numbers in registers, but they're next to each other. The only difference between your code and John Carmack's code is that he's got a bunch more experience knowing which numbers to add in which registers.

Second, and this is more my point, programming is as much about writing code as astronomy is about looking through telescopes or filmmaking is about hanging lights. Sure, if you're bad at looking through telescopes, you'll probably have a harder time being an astronomer... but the point isn't the telescope, it's the thing you're looking at. By the same token, programming isn't about the code, it's about why you write the code; this is why some programmers are better at writing game engines, or databases, or compilers, and it's got nothing to do with which of them are better coders.

That all isn't to say that you won't actually find programming disappointing; I figured out that I didn't want to fix cars pretty quickly, without having actually fixed any cars. But you might want to give it more of a chance.

Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#35  Edited By fobwashed

@Trevion: That my code and Carmack's code at it's most basic state is the same is what I meant I was disappointed about. I know what computers do and I know that it's 1s and 0s, true or false and basic arithmetic, all I meant is that I expected something more. It's stupid, but prior to knowing anything about actual programming, it's what I thought.

I'm not entirely sure I understand your second point. It sounds like what you're saying is that astronomy and film making aren't about individual aspects of the field or the tools used but is instead about the subject? I don't get it. It sounds like you're getting philosophical there in a way that doesn't apply to programming. Using your example of film making, the point of film making is the end result. The film. The point of astronomy is learning about celestial bodies and such. The knowledge gained. I guess philosophically or high mindedly or whatever you want to call it, it could be about the process or the individual journey or whatever but in most cases I'd think you make these things to be consumed and used.

Following that, you wrote that programming isn't about the code, it's about why you write the code. I'm taking this literally because that's the only way I can make sense of this and taking it that way, again, I don't know that it makes sense. When I'm programming and writing code, it's so that I can have that code and use it in my game. I'm not writing it for the experience of writing it or any other reason than the reason that I actually need that code for my game to function the way I want it to. So programming is 100% about the code. The end result.

You state that this, "why you write the code", rather than the code itself is why some programmers are better at writing different types of code. To start, again, I don't understand how "why" a person writes the code causes them to be better at programming a game engine over a compiler. And I also feel that being a better coder has loads to do with why someone will be able to write a better engine or database or whatever. If John Carmack wanted to, I bet he could do a little looking into something like databases, and build a fantastic database while your average coder joe who writes fantastic databases wouldn't be able to whip up a graphics engine. Mostly just because JC is prolly an incredible coder. I just don't see how or where the "why" of it fits in. I concede that I may just not be getting your point in which case, I'd love for you to elaborate because I'm uber confused and as you can hopefully see, I've put a good amount of thought and consideration into your post -_-;;

Anyhow, I think as I've missed your point, you've also missed mine. I was disappointed with that one revelation that all code boils down to the same basic building blocks, but I love it. I do some art sometimes and it's not about the colors or the simple strokes, it's about the end result. It's all about the code for me -_-;; I look at what these basic building blocks have formed and I'm incredibly proud that they fit with the other code I've written and form something awesome. Well. . . maybe not "awesome" but to me it's pretty awesome and hopefully one day, it'll be a finished complete game =)

Avatar image for trevion
Trevion

21

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#36  Edited By Trevion
@Fobwashed: I think you've found a much more high-minded conclusion than I intended... I didn't meant to suggest that the journey of programming was particularly rewarding (although hopefully you find it so), but that you're confusing the tool with the goal.  Your goal isn't to have written a particular piece of code, it's to have solved a particular problem.  This, I guess, was my point about databases or what-not: the problems that arise in writing a database engine are almost totally unrelated to the problems that arise in writing a game engine or writing a compiler.  The solutions may all end up expressed in the same formal structure, but that doesn't imply the expertise required to get there is the same, or even very closely related.
 
I think the reason this is all relevant is that the way I'm reading your original post isn't that you're actually disappointed with programming.  You're disappointed (I think) that the problems you've set out to solve aren't very interesting.  This isn't really surprising, and it doesn't mean that the solutions won't be part of something interesting, but it also leaves me feeling like you're really just scratching the surface of what programming's really about.
 
I just ran across some decent articles on learning to program.   If you're really interested in getting better at programming, check out Becoming a Good Programmer in Six Really Hard Steps, and  the classic article along those lines Teach Yourself Programming in 10 Years.  The point here isn't "oh god this is really hard" but to say that there's so much more to learn.
Avatar image for fobwashed
fobwashed

2818

Forum Posts

388

Wiki Points

0

Followers

Reviews: 15

User Lists: 16

#37  Edited By fobwashed

@Trevion: Haha, I think we've upjumped each other's posts in a leap frog fashion to get to this point. I am in no way disappointed with programming and actually find it immensely satisfying and entertaining. The biggest disappointment I found and posted about is a relative thing in that the biggest disappointment isn't really that big a disappointment at all. It's just the only thing that was an "awe shucks" moment in an otherwise fantastic journey -_-;;

The problems I'm setting for myself and solving are all great fun, it's just that I thought there'd be more to it than there ended up being. Which isn't really a bad thing, it was just a little bit of a let down when my expectations was that it'd be a more flashy business. I don't know if you read my following post which sort of dealt with what I found to be super exciting about programming in general.

I think I've got a fairly firm grasp on what programming is about and it's possibilities. I read those links you posted and they seem to basically preach what I've known going into this in that it's not going to be an easy thing to just pick up and learn. I'm a year in so far and it's been a year jam packed with multiple books, endless tutorials and nonstop actual programming. If you've seen any of my video series, then you can visually see my progress. While I don't post my actual code, because it's mine =P, you can see the fruits of my labor. It's still pretty basic and slowly coming together but the ground work is there now =)

I think we've both sort of read into each other's posts beyond the original meaning =P I guess I didn't really make it too clear in my OP that I wasn't super disappointed or saddened or anything like that, it's just that I thought it'd be more flashy wizard business when in reality, it turned out to be fairly basic at the core. Doesn't mean that this basic core stuff can't churn out the most amazing shit ever, because it frequently does! =)