Gamingforce Interactive Forums
85240 35212

Go Back   Exploding Garrmondo Weiner Interactive Swiss Army Penis > Garrmondo Network > Help Desk
Register FAQ GFWiki Community Donate Arcade ChocoJournal Calendar

Notices

Welcome to the Exploding Garrmondo Weiner Interactive Swiss Army Penis.
GFF is a community of gaming and music enthusiasts. We have a team of dedicated moderators, constant member-organized activities, and plenty of custom features, including our unique journal system. If this is your first visit, be sure to check out the FAQ or our GFWiki. You will have to register before you can post. Membership is completely free (and gets rid of the pesky advertisement unit underneath this message).


Learning to program.
Reply
 
Thread Tools
Render
River Chocobo


Member 4283

Level 25.60

Mar 2006


Reply With Quote
Old Jul 26, 2007, 06:02 PM Local time: Jul 26, 2007, 04:02 PM #1 of 12
Learning to program.

sorry for the rapid succession of thread creation here. i forgot to ask this here earlier. :/

Long story short, my best friend wants to learn how to program. He doesn't know very much about it at all, and would like to avoid college or university entirely, if possible. Also, his final goal may either be to learn web-based back-end programming, or C++ with a future in game development.

What advice would you give him? Any links or any places he should start looking?

Jam it back in, in the dark.
ramoth
ACER BANDIT


Member 692

Level 35.27

Mar 2006


Reply With Quote
Old Jul 27, 2007, 05:52 AM Local time: Jul 27, 2007, 02:52 AM #2 of 12
The best way to learn programming is by doing. Making websites with PHP and/or Ruby on Rails is dead simple. I'm sure your friend can figure it out.

There are over 9,000 "Learn to Program!1" websites/books/pornfilms out there, pick any of them.

Just start programming as much as possible. It's as much art as it is science, and the only way to get better at either one is to just practice a lot, and figure out how to teach yourself. You'll be having to retrain for the rest of your career -- the best programmers are the ones who can pick up a new technology within hours.

It's not an easy or glamourous job, by any stretch of the imagination. 99% of people end up doing something boring like working on accounting software or writing internal tools for some megacorp. If you're good, you might just land a hotshot job at a cool company, or strike out on your own and have a successful startup, but the odds are against you.


chocolate rain

There's nowhere I can't reach.
mortis
3/3/06


Member 634

Level 32.09

Mar 2006


Reply With Quote
Old Jul 27, 2007, 12:15 PM #3 of 12
Ruby on rains is themost horridlanguage. I hate that language with a passion. The language is broken, the documentation (when I last used it anyway) is severly lacking, it is way over-rated for it's 'eye candy features' and just overall a piss-poor language.

Learn C#.

And you should be able to do a search for C# tutorials to get you on your way. C# allows you to make applications that can be theoritically used on mutliple OS's, be used for webish things, and is a versitile language with many great features, that is always improving, and is a nice mix between Java and C.

This thing is sticky, and I don't like it. I don't appreciate it.
THE POWER OF WATER
listen here you little shit


Member 45

Level 48.64

Mar 2006


Reply With Quote
Old Jul 27, 2007, 03:52 PM Local time: Jul 27, 2007, 12:52 PM #4 of 12
Pretty much everything ramoth said is truth.

C#, Java, C/C++, et al. are all horrid languages to begin programming with, especially for someone who doesn't want to take courses. I'm not saying they're not useful to know at some point in time, or that they are horrid languages in general (what I think of them is a completely separate topic), but if you are a beginning programmer, which of these makes more sense to you:

Code:
C#

public class HelloWorld {
    public static void Main() {
        System.Console.WriteLine("Hello world");
    }
}
Code:
PHP

<?php

echo "Hello world";

?>
Code:
Python

print "Hello world"
The signal-to-noise ratio of the C# example is horrible. There you've got OO, access control, and namespaces all chucked in there just to print something on the screen. Who cares? I just want to make text on the screen.

I don't know that I'd recommend PHP as a beginner's language, but it is pretty easy and has the benefit of being immediately useful because web pages are awesome. Does you friend already know HTML? Knowing it already would be a big help.

I've never used Ruby on Rails (which is not a language; Ruby is the language, and RoR is just a web application framework for it), but I've seen a demo and it looked pretty easy. It does a lot of magic for you so that you can make web apps a lot faster than coding everything from scratch.

In my opinion, the best languages to learn with are ones interpreted ones with an interactive mode, like Python (which I'm quite surprised ramoth didn't mention). Having a console and a prompt gives you immediate feedback on what you're doing, both with code correctness and the results of what code does. Python is a great language to play around and experiment with because of this and also because as a language it's easy to read. There are some tutorials supposedly for non-programmers here. Non-Programmer's Tutorial for Python and Instant Hacking look decent, but I just scanned them.

I am a dolphin, do you want me on your body?
Undertale (PC, 2015)

Last edited by THE POWER OF WATER; Jul 27, 2007 at 03:58 PM.
mortis
3/3/06


Member 634

Level 32.09

Mar 2006


Reply With Quote
Old Jul 28, 2007, 06:54 AM #5 of 12
That's the thing though with RoR. Unless it has changed dramatically since I have yused it, the things it can automatically do for you are actually fairly limited. It CAN set up a webpage and basic functions for an online database, but again, a basic one.

I was speaking idiomatically.
LiquidAcid
Chocorific


Member 6745

Level 38.97

May 2006


Reply With Quote
Old Jul 28, 2007, 07:05 AM Local time: Jul 28, 2007, 01:05 PM #6 of 12
Learning to write (good) code / program is independent from learning a programming language. If you have understood the basic (and advanced) concepts of the few programming styles (functional, imperative, object-orientied, etc.) you can learn to use a new programming language in just a few weeks.

Learning to programm however can take some years. Me for example started with C++. C89 and C99 followed, some x86 assembly. bash scripting, Java, Python, Perl, etc.
Good thing when knowing C is that you can read a lot of open-source code on the net, especially the Linux kernel. It's really helpful understand system internals.

Most amazing jew boots
neus
You're getting slower!


Member 512

Level 20.69

Mar 2006


Reply With Quote
Old Jul 29, 2007, 06:56 PM #7 of 12
sorry for the rapid succession of thread creation here. i forgot to ask this here earlier. :/

Long story short, my best friend wants to learn how to program. He doesn't know very much about it at all, and would like to avoid college or university entirely, if possible. Also, his final goal may either be to learn web-based back-end programming, or C++ with a future in game development.

What advice would you give him? Any links or any places he should start looking?
So, why doesn't he want to go to school?
I know that ain't the point of the thread but I believe this entire thread was based on one of those lame, boredom-inspired conversations.

"yo dude, I wanna be a hardcore hacker like neo"
"lol, that'd be cool"
"yeah, but I dun wanna go to school cause that's hard and boring fuck that"
"yeah, fuck school. let's go ask some internet forum goers how to learn programming!"
...
INTERNET COMES TO THE RESCUE!

FELIPE NO
Arainach
Sensors indicate an Ancient Civilization


Member 1200

Level 26.94

Mar 2006


Reply With Quote
Old Jul 29, 2007, 07:34 PM #8 of 12
sorry for the rapid succession of thread creation here. i forgot to ask this here earlier. :/

Long story short, my best friend wants to learn how to program. He doesn't know very much about it at all, and would like to avoid college or university entirely, if possible. Also, his final goal may either be to learn web-based back-end programming, or C++ with a future in game development.

What advice would you give him? Any links or any places he should start looking?
If he wants a job programming, he owes it to himself to go to college and get a Comp. Sci degree. Not only will it be damned near impossible to get a job without one, it teaches good habits. A good Comp. Sci program isn't about learning to program (other than your first two semesters of intro to <insert language here>). It's about learning how to think and approach programming projects.

Visual BASIC showed the world that any two-bit hack could write a program. It ALSO showed us that any two-bit hack can write a program that will have massive problems, holes, and be absolutely unmaintainable, but only someone who knows what they're doing can write a quality project that's fast, stable, and maintainable.

As for what language to learn: Python might work well. I learned on QBASIC when I was 6 years old, but I wouldn't recommend BASIC as it teaches some bad habits. C++ is my language of choice (and the language that I was retaught on in college when I became a Comp. Sci major after not programming for the better part of a decade), but I taught myself Python in the course of a few hours and found it a simple and enjoyable language. Otherwise, C++ is a solid choice since it runs everywhere and is used in a lot of places. It's a bit tougher than some languages when you get into advanced stuff, but it's not a bad language to learn on, really.

I would NOT reccommend C#. Once you learn one or two languages picking up others is not tough (After I learned C++, I learned PHP in a week, Python in maybe an hour, and I'm currently teaching myself Java and Perl), but C# is an awkward choice because of its lack of compatibility. Mortis may claim otherwise, but .NET is Microsoft-exclusive and they've shown no interest in porting it to any other systems. Mono on Linux isn't bad (I've written C# code to run there), but it's unofficial, incomplete, and sadly lacking. And MacOS? Forget it. Java and C++, by contrast, DO run anywhere.

What, you don't want my bikini-clad body?
Overkill
Syklis Green


Member 1892

Level 7.28

Mar 2006


Reply With Quote
Old Jul 29, 2007, 09:16 PM #9 of 12
Scripting languages are typically way easier to pick up than full-on programming languages, so if you're starting off I'd recommend Python. The syntax is clean, the dynamic typing makes it easy, and the garbage collection saves you from the horrors of memory leaks (for the most part). Ruby isn't too bad of a language, either. It's less ugly than Perl or PHP and Why's Poignant Guide is like the most awesome tutorial ever. Never used Ruby on Rails.

Cross-platform, although good, is not everything. Seeing as MOST people run Windows, C# is fairly solid. It improves upon Java, by making things slightly less verbose and adding nifty new features. Java is fairly ick in my opinion, unless you're really worried about supporting other platforms.

C++ is a fairly solid choice, but it might be a little too powerful and catastrophic for a first language. There are lots of gotchas. SDL might be a good library to experiment with for a silly little game project.

I'd really recommend your friend get a Computer Science degree to increase his chances of getting a job in his field of interest, but also stress a fair importance on constantly experimenting with various code projects along the way to learn how to develop things quickly and effectively. I mean, if you don't do anything outside of school work, how can you really be that good of a coder? He's gonna probably want to make a portfolio of some independent projects, to make himself stand out as well.

Jam it back in, in the dark.
Arainach
Sensors indicate an Ancient Civilization


Member 1200

Level 26.94

Mar 2006


Reply With Quote
Old Jul 29, 2007, 09:33 PM #10 of 12
Cross-Platform is not everything, but in the case of .NET I'd certainly say it is. You're locked into one OS, one compiler, and for the large part one IDE (An IDE isn't strictly necessary - I'm a vim/make guy myself, but it can certainly be useful) - not what I would want for my first language.

There's nowhere I can't reach.
Overkill
Syklis Green


Member 1892

Level 7.28

Mar 2006


Reply With Quote
Old Jul 29, 2007, 11:11 PM #11 of 12
Yeah, that's true. But Visual Studio 2005 doesn't have that bad of an IDE (at least, the pro version, which is sort of uhm pirated). I suppose another big thing that I liked about coding with Java was using Eclipse. I don't MIND using makefiles, but I try to avoid them when an interface can automate these things for me and also allow me to automatically jump to the spot of any compile errors. Eclipse is especially nice, because it parses your code as you type. Visual Studio is nothing too fancy, but it gets the job done.

But then for light projects, I just use Textpad, or gedit.

This thing is sticky, and I don't like it. I don't appreciate it.
Arainach
Sensors indicate an Ancient Civilization


Member 1200

Level 26.94

Mar 2006


Reply With Quote
Old Jul 29, 2007, 11:27 PM #12 of 12
I'm not about to insult Visual Studio. I've used a large pile of IDEs (Zend, Eclipse, Anjuta, kDevelop, and VS 6, 2003, and 2005 extensively), and I've got to say that I may like the VS2005 interface even more than I like kDevelop (which is insanely good). I may have gripes with Windows, but most of Microsoft's other products - Visual Studio, Office, and Streets & Trips especially - are top notch.

I just don't like being forced into one suite of applications - even if it IS the best suite - I like choice.

I am a dolphin, do you want me on your body?
Reply


Exploding Garrmondo Weiner Interactive Swiss Army Penis > Garrmondo Network > Help Desk > Learning to program.

Forum Jump


All times are GMT -5. The time now is 04:50 PM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2025, vBulletin Solutions, Inc.