Sign in to follow this  
Serapth

So you want to be a real programmer?

Recommended Posts

JBourrie    1204
You know, "Real Programmers" also recommend against learning those "hand-holding" engines like Unity - it's so much better to wrestle with the 10+ year old SDL and write all of your own 3D. Personally, I think SDL is also too high-level, I like to build my own monitor from old televisions so I can design the hardware interfaces from scratch. Then I can interact with those interfaces using my custom-made computer that runs on vacuum tubes and punch cards (transistors are SO n00b).

I hope within the next decade or so I can reveal the project that I'm working on. It's really cool: it kind of feels like you're really playing table tennis in a frictionless environment!

We should sticky this post. Fantastic! Especially when it comes from a guy whose website it "GameFromScratch.com"... it's nice to see you don't define "from scratch" as "reinvent the wheel".

Share this post


Link to post
Share on other sites
Telastyn    3777
Maybe if this weren't a poor retelling of a 10 year old article (with Java as the holy grail). Now to find that link...

Share this post


Link to post
Share on other sites
Serapth    6671
[quote name='Telastyn' timestamp='1307305506' post='4819846']
Maybe if this weren't a poor retelling of a 10 year old article (with Java as the holy grail). Now to find that link...
[/quote]

First off, I take exception to being a "poor" retelling, I like to think of it as at least a mediocre retelling.

Second, actually it wasn't a retelling. Now, by no means is the story new. In fact that is exactly the point of it, we all go through it eventually, or at least most of us do. Have other people had and put to word similar experiences? Of course they have... welcome to a world with six thousand years of written heritage, you are bound to get a bit of overlap!

Finally, I posit no "holy grail", I actually attempted to make it clear that many languages should be considered, even "the villain" of the story.

Share this post


Link to post
Share on other sites
medevilenemy    362
Nah, real programmers use a magnitized needle and a steady hand :cool:... you know someone was going to say it. Don't know if this conversation is going anywhere real, so I may as well put my $0.02 in... I tend to think the qualification of real programmers and engineers is not the language -- you can program in COBOL for all I care (but please don't :P), but rather a certain set of design skills and an approach less about what is best for business/most profitable/prettiest and more about "how do I get this to do what I want it to do in the best way I can" (and maybe have some fun with it along the way)

Share this post


Link to post
Share on other sites
PrestoChung    334
So by some trickery I was made to install Visual C# Express in order to run the game Terraria.

After playing around a bit it was really tempting but I want to use OpenGL. Is it possible to use SDL/OpenGL in C#?

Share this post


Link to post
Share on other sites
Serapth    6671
[quote name='PrestoChung' timestamp='1307308509' post='4819862']
So by some trickery I was made to install Visual C# Express in order to run the game Terraria.

After playing around a bit it was really tempting but I want to use OpenGL. Is it possible to use SDL/OpenGL in C#?
[/quote]

Yeah, there are [url="http://www.opengl.org/resources/bindings/"]OpenGL bindings for just about every language.[/url]

[url="http://www.libsdl.org/languages.php"]Ditto for SDL[/url].


And of course, [url="http://www.mono-project.com/Tao"]Tao is a binding of both[/url] as well as ODE physics.



All that said, that is NOT the point of this thread. I am not saying C# is the "one true language" either. There is no "one true language", that is entirely NOT the point of this thread. You could just as easily swap my reference to C# with Java, D, Ruby, Python, whatever... and the story would have been just as valid.

Please please please for the love of dog, don't take this as a pro C# post, totally not the intention.

Share this post


Link to post
Share on other sites
DarklyDreaming    367
[quote name='PrestoChung' timestamp='1307308509' post='4819862']
So by some trickery I was made to install Visual C# Express in order to run the game Terraria.

After playing around a bit it was really tempting but I want to use OpenGL. Is it possible to use SDL/OpenGL in C#?
[/quote]

Not a clue what this has to do with the question at hand, but the [url="http://lmgtfy.com/?q=opengl+in+C%23%3F"]answer is yes[/url].

Share this post


Link to post
Share on other sites
Ninjaboi    163
I agree, magnetized needle for programming is a must if your serious about your craft :wink:. It's also essential to be programming on a system that of which you built from the bottom up with parts you made by melting down the elements around you and molding them into their appropriate forms. You then have to create the OS, firmware, drivers, and essential applications for said system in order to make it easier on yourself ( but by all means you can still do it using the needle ). If any of you people are using anything short of this, your a noob programmer at best!

Obviously the paragraph above is bogus. Don't reinvent the wheel ( as someone mentioned ), and use the right tool(s) for the job. If your building something that requires lots of control and power in the application, stick with a lower-level language to build the application with more resource-efficient code. If you have a deadline, or just don't want to bother with the low-level stuff, go for the higher-level languages and their great resources and tools. There is no "one size fits all" way to do something, therefore there is no "one language fits all" solution to programming. Also, this thread should be a sticky, if not for the information than for the exaggerated remarks in the replies :lol:.

Share this post


Link to post
Share on other sites
sketchasketch    106
What's the point? I don't really understand what you're trying to express, every language, even a scripting language, has it's pros and cons. It was very close-minded of you to not think about that when programming.

Share this post


Link to post
Share on other sites
Ninjaboi    163
sketckasketch, not sure if you read through the whole article ( and the replies ), but it's a point being put across that there is pros and cons to every language, and nobody is raising up any language. Everyone here has said that you should use the right language for the right task. Not sure how that is relays to being "close-minded", but unless you didn't read through all the thread your not going to see that were not shunning anyone for what they use to do their tasks. In the end, nobody can say their language is better in every situation.

Again, I'm sure you just didn't read the ending of the article first posted, and the exaggerated remarks made by the repliers as a joke.

Share this post


Link to post
Share on other sites
JBourrie    1204
[quote name='sketckasketch' timestamp='1307314727' post='4819891']
What's the point? I don't really understand what you're trying to express, every language, even a scripting language, has it's pros and cons. It was very close-minded of you to not think about that when programming.
[/quote]

:)

Share this post


Link to post
Share on other sites
deftware    1778
My philosophy is:

do whatever makes developing your project as easy on yourself as possible while keeping it as fast as possible, and eliminating the need for run-time dependencies that will only aggravate and inconvenience the end-users of your project.

Programming is an art where programmers create a virtual machine that is intended to do virtual work, taking virtual input, and creating virtual output. It would then only make sense the machine does the job without costing more time and money than it should for both the programmer and the end-user. Find strategies for writing code that help you make your machine work properly without spending 90% of your development time finding bugs that could have been avoided, this of course is something that only comes with practice and experience, so keep on practicing and gaining experience.

Languages don't matter unless your goal is speed, whatever language you are most proficient at is the one you want to use, unless learning a new language that's quick and easy to pick up will save more time than sticking with your mastered language.

Code in a way that makes everyone happy, or as happy as possible. That's all!

Share this post


Link to post
Share on other sites
Concentrate    181
[quote name='return0' timestamp='1307320118' post='4819923']
Java really does suck though.
[/quote]

Why? I feel like most people says this but that language actually makes a lot of jobs easier. Sure there are a couple of things in Java thats 'weird', but I wouldn't go to say that java sucks. Its actually isn't thaaaat bad as people display it out to be. Maybe you can show me why exactly java sucks? Is it all the libraries it provides? Or the automatic garbage collection? Or all of the exception safety it has? Or all the libraries it provides? or all the libraries it provides? Or is it because its not manly enough?

Share this post


Link to post
Share on other sites
JBourrie    1204
[quote name='D.Chhetri' timestamp='1307321177' post='4819928']
[quote name='return0' timestamp='1307320118' post='4819923']
Java really does suck though.
[/quote]

Why? I feel like most people says this but that language actually makes a lot of jobs easier. Sure there are a couple of things in Java thats 'weird', but I wouldn't go to say that java sucks. Its actually isn't thaaaat bad as people display it out to be. Maybe you can show me why exactly java sucks? Is it all the libraries it provides? Or the automatic garbage collection? Or all of the exception safety it has? Or all the libraries it provides? or all the libraries it provides? Or is it because its not manly enough?
[/quote]

I think all of the Java-hate out there is mainly by C# users, because C# (in most cases) is a better designed and more effective programming language for the "average" application.

Of course, even then it's only sucks relative to C#. In fact, it's a pretty decent language with good performance, support across nearly every platform in existence, and C# wouldn't even exist if Java didn't. Even though I try to avoid using Java whenever possible (I try to stick with C#), I'd favor it over lower-level languages (like C++) or script-like languages (like Python) for most applications.

Share this post


Link to post
Share on other sites
papulko    1418
From the perspective of an already experienced programmer like yourself that's an easy thing to say. Pick the right tool for the right task. Problem is you can't decide which tool is best if you don't have at least some understanding of how each of them work. You wouldn't use a chainsaw to tie your shoes would you? In my limited experience there are no shortcuts in learning good programming. I say grab the bull by the horns and start out by learning a lower level language, let it sink in, and work your way up from there. It doesn't necessarily have to be difficult, but it will take some time for most people.

Share this post


Link to post
Share on other sites
Ninjaboi    163
[quote]That's not true at all! C++ doesn't require anywhere near the hand-eye coordination juggling requires. And with C++ after you slip and kill someone with the knife, you can reuse it for something else afterward. With actual knives, you have to get rid of the evidence. [/quote]

So true.

Share this post


Link to post
Share on other sites
medevilenemy    362
C++ takes a lot of heat because it doesn't conform to today's fad ideas of mainline programming (this is IMHO, of course :P) namely: Strict adherence to OOP principles, and type safety. C++ wasn't designed to be an OO language, but rather to give you the ability to write OO code if you chose to. It was not really written to be type safe because strictly enforcing type safety can limit programmers, to a certain degree. It is a language of choice, designed to support multiple paradigms. Honestly, I think pure OO and type safety are both overrated... just like you should use the right tool for the job, you should use the right paradigm for the job -- and sometimes that is somewhat subjective. As for C++ being dangerous: Sure it is... it makes no effort to hold your hand. If you or I, as programmers, mess up then it won't work properly... because we messed up. The idea is to learn the tools available, apply good design skills (and I tend to think at least some degree of creative intuition), and be careful. If something is broken, take responsibility and fix it. Java/C# have somewhat different approach... They are "safer" to work in as often times you won't go quite as humorously or terrifyingly wrong, and yet they somewhat restrict you from trying the crazy idea which later turns out to be brilliant, etc etc etc. Of course, many will disagree, that is fine. When it comes to it, C++ is just as valid a language as Java/C#/whatever depending on use, and on programmer comfort and preference.

Share this post


Link to post
Share on other sites
drowsyn    142
You know, when I started programming, I read a ton of posts on various forums that said pretty much what the OP said in his. I wish I had just believed what I'd read. I kept on going with C++, and although I did eventually learn to do some fairly cool things with the language, my productivity went up big time the second I moved to C#. At first, I definitely felt like it wasn't Real Programming, but then I thankfully evolved and grew a brain. Now I'm genuinely finishing something (be it a full application or just a feature) on a daily basis, which never really happened during my time with C++.

The moral of the story? Don't be an asshat. It might feel manly to take on the bigger beast, but it's better to just make things easier on yourself.

Share this post


Link to post
Share on other sites
Waterlimon    4398
I think its just related to if the language has good enough performance :P

After 50 years well be using fully interpreted languages so the OS can control the programs better.

Share this post


Link to post
Share on other sites
Serapth    6671
[quote name='Bladelock' timestamp='1307362536' post='4820047']
It's like a Pokemon Battle! Even if you have a LvL 100 Pikachu, it's Thunderbolt won't work against Brock's LvL 9 Onix....
[/quote]

Is it ok for me to be completely baffled by your analogy? :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this