I know a bit of some C or other from NWN modding, other than that just R and Matlab at work.
I know a bit of some C or other from NWN modding, other than that just R and Matlab at work.
Irrelevant on further examination of the rest of the thread.
The only languages I've had any luck with were C64 Basic and LSL (the Second Life scripting language). I've tried numerous times to learn various other languages, but never felt I managed to get any kind of proper handle on any of them (though, I think that if I tried now, it might be easier due to what I've learned from LSL).
CS grad here, so I played with a lot of languages (Assembly, C, C++, C#, Java, ML, Scheme etc.) but at work i'm using C/C++ and some python for automation.
Game programming always seemed like a dream to me, but i'm afraid there's barely to none work here :(
Guess I'll stick to playing games instead :)
For those wanting to learn how to program from scratch, I'd recommend CodeAcademy, I like their method.
What's with the java hate =O
Some people like their languages as close to the metal as possible. While that's ok for some uses, it can drive programmers completely nuts, as their case shows.
Either that or they like Ruby and Python, in which case none of their programming opinions should be taken seriously because they're so spoiled we like to make them cry like little girls by overlooking their work.
Bruce Eckel wrote Thinking in Java, which is by many people regarded as the book for learning Java and even Object-Oriented programming. He doesn't remember how to open files in Java, and he wrote an entire chapter about it. He is a fan of Python now.
Java is very verbose and extremely complex. There are mountains of libraries and things to remember.
This is quite normal, don't be discouraged. Programming is hard, even programming geniuses (like Donald Knuth) say so. I also have a love/hate relationship with it, yet when I start doing it I get sucked in for hours. It helps when you're getting paid for it or working on a fun project.
Besides, C++ and Java are some of the least pleasant programming languages. If you'd like to try a really pleasant language, use Python. Unfortunately it's not a good fit for mobile and job offers are mostly about Django (web development) but as a hobby it's great. I wrote a nonogram solver in it. It's good for turn-based games though if it's your thing.
Game programmers, especially if they like Python, should be interested in Lua because many games use it as a scripting language. It's also okay on mobile because it compiles to Javascript nicely.
This is what Linus Torvalds says about C and C++:
http://article.gmane.org/gmane.comp....trol.git/57918
...and don't forget iphone. They abandoned C++ for Objective C. "Basic" C is simpler and therefore easier to avoid bugs with, whereas C++ has many implicit behaviors and quirks which surprise even experienced programmers.
Diablo3 is not PvE or PvP, it is PvAH. -- Tei
This, in Java, then my head exploded.
I really could not get a grasp of how to send data from one class to another, so completely failed to make anything of substance.
Don't get me wrong, I read the tutorial over a million times, I just fail with syntax (learning languages). So I know what I want to do, I just can't translate that into any programming language. :(
Java is a great pain in the ass when you're programming for the desktop - it's overly verbose and filled with all kinds of ass-backwards design decision (no unsigned types, really?). On the server-side tho it's relatively nice and usable.
While I appreciate Linus greatly, his arguments against C++ are basically "stupid people code C++ and because of that C++ is a bad language". C is a powerful language obviously, but the larger the projects get, the harder the codebase becomes to manage. And that is to say that C is filled with all kinds of security holes by design (null-terminated char arrays, scanf() etc). C++'s implicit behaviors are mainly a result of holding the backwards-compatibility with C, though I do agree that having no specified order of operators (meaning "i + a * b" being unspecified behavior!) is a big sack of stupidity.Originally Posted by b0rsuk
I work as a programmer (though I'm no master coder), but I haven't done anything on my own since I published some NWN script suites a few years ago. Earlier this year, I realized that I needed to start taking on personal projects and learning new things again. I've since published a small Android app, and am now working on developing a PC game. I've never attempted something on this scale before, so it's been an enormous learning experience.
Why am I a programmer? Well, on a bad day, I sit and do tedious rote work that numbs my brain, so that sucks. On a good day, though, I come into the office and get paid to solve logic puzzles all day.
Oh yeah, Hello World in Java sounds like a joke, but it isn't.
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }
This is actually the simplest, shortest, correctly* written application. You need that just to output a line of text. Unfortunately, it's quite typical.
* this forum doesn't allow me to use nice indentation
Last edited by b0rsuk; 12-10-2012 at 11:15 AM.
Diablo3 is not PvE or PvP, it is PvAH. -- Tei
Java's "Hello World" seems so bloated because of you need to declare a class in which the main-function resides. In C++ the same would be int main(int argc, char *argv[]){ std::cout << "Hello world!"; }, whereas in scripting languages it would be something along the line of print("Hello world!") or print "Hello world!".
However, Java actually has some ridiculously overly verbose classes and functions. See for example InternalFrameInternalFrameTitlePanelInternalFrameT itlePanelMaximizeButtonPainter. Yes, this is part of JDK. Also, you shold note that the Java programming convention recommends no more than 80 characters per line. InternalFrameInternalFrameyaddayadda is 78 characters long.
I've been slowly learning Python at the moment and slowly getting used to it and actually liking it, I might try a Unity project since UDK seems to have pinged me back. I do want to learn a lot more programming because it open that side of the brain where your like oh i can do so many wonderful things with this.
I know hows to program. I got a degree in it once!
Of course long before that I was using the trigger system in the Age of Kings scenario editor, which is basically the same thing.
Wot I Think: The Game : an ongoing collaborative game-design experiment / comedic disaster here on the RPS Forums!
Kata vs. Kata : a game of simultaneous round-based predictive martial arts (like frozen synapse, but with punches)
My Games on Kongregate : "computainments" for your world wide web experience
Astrophysics student, and I've worked with Java/C++/C/Fortran/IDL/Assembly.
I'm currently snoring my way through the C course I have to take (3 weeks in and we've just discovered loops!), and have a project working in Assembly to see if we can do faster signal processing for a bit of the LIGO detector - well, that's how we've put it down; it's really just an excuse for me and my supervisor to learn Assembly and piss about with it for 8 weeks. The fact I know more than he does probably isn't a good sign... Oh well, at least I now appreciate why other languages do things so backwards some of the time (e.g. "why can I only return one value from a function without using pointers?")
Last edited by Danny252; 12-10-2012 at 12:25 PM.
"Swans are so big, they're like the Ostriches of the bird world"
I work with programmers, but no. Did some java back in the day but I'm fully on the art and mechanics side of things nowadays.
Hopefully I'll get some time over this summer to have another crack at coding a game, which would be my 5th attempt (C++). Last time it was the netcode which fell apart, but you get a little better every time.
I don't know about anyone else, but I far prefer building and tweaking games to playing them. Although that may be because it lets me incorporate my other passion, mathematics.