November 21, 2008, 03:50:01 AM
 

News : Welcome to the Mercenaries Guild Forums!

+  Mercenaries Guild
|-+  Public
| |-+  Tremulous
| | |-+  What happened to the Sense of Community(TM) at tremulous.net?
Topic: What happened to the Sense of Community(TM) at tremulous.net?  (Read 4697 times)

munroe
Member
Spambot
*

Karma: 10
Offline Offline

Posts: 557



View Profile WWW

« on: February 19, 2008, 02:05:32 PM » Reply #30

This is probably gonna turn ugly real quick, but fuck languages in general. Programming isn't about the best language, it's about understanding the problem and applying a solution. It's about problem solving. Use the best tool for the job. Carpenters don't argue over the superiority between a wrench and a hammer, different tools for different jobs.

Learn procedural stuff first. Go read up on If/then/else statements, while/for/do loops, assigning variables, functions/subroutines, passing arguments.

Then learn some Object Oriented stuff. Methods, Objects, Constructors, Inheritance, Polymorphism, Encapsulation, Deconstructors, maybe even Garbage Collection.

Learn Pointers. That's a killer right there, but they're crucial to understanding what's going on underneath the code(or C in general).

Learn how a compiler works.

Learn how to debug properly. Stepping through your code, understanding the error messages, and how to fix them.


If you want your hand held, use a scripting language like Perl or Python. They take a lot of the pain associated with learning away so you can accomplish tasks, but you don't gain a deep understanding like you would with C.

So yeah, maybe start with Python(or Perl if you want to be cool like me, ha) to learn the really basic stuff like if statements and while loops. Then switch to C when you're ready to learn how computers work at the highest level possible without getting into assembly or machine code.

C will kick your ass over and over again, but you'll thank it later. Nothing like learning problem solving by getting Segmentation Fault as your only error message, and having to find the problem yourself using gdb.



All that said, there are thousands of ways to learn programming, but there really isn't a "right" way to do it. Just learn how to comment properly, and I won't hate you. haha.
Logged

Go Up

Angus Young
First Lieutenant
****

Karma: -101
Offline Offline

Posts: 213


I BROKE MY G-STRING!(inside joke)


View Profile

« on: February 19, 2008, 02:31:54 PM » Reply #31

I think python's taught in the beginner class. My friend takes it and he showed me a python program. I really don't know what's taught in the classes, that's why I'm gonna investigate.
Logged

Zombies are people too.

Go Up

Rocinante
}MG{:~#
Administrator
Captain
*****

Karma: 9
Offline Offline

Posts: 276


You're a kitty!


View Profile WWW

« on: February 19, 2008, 02:32:14 PM » Reply #32

This is probably gonna turn ugly real quick, but fuck languages in general. Programming isn't about the best language, it's about understanding the problem and applying a solution. It's about problem solving. Use the best tool for the job. Carpenters don't argue over the superiority between a wrench and a hammer, different tools for different jobs.

+1

My tenure in CS classes taught me Lisp, a little Fortran, C, C++ and a handful of shell scripting languages.  However, what's more important is that they taught me how languages are structured, how they work in general, what to expect from different ones, etc.  Because of that, while I'd never seen Python before, it didn't take me long to gather enough information to teach myself how to hack it.  Ditto for other languages and scripts and such.

Instead of focusing on a particular language with the intent of learning it, go for the more general knowledge of how they *all* work, and then learn a few.  When you meet one down the road you've never seen before, instead of trying to compare it to C or Java, you'll draw the comparisons in your mind about how it works in general amongst all other languages and find it easier to understand.
Logged

"On my ship, the Rocinante, wheeling through the galaxies; headed for the heart of Cygnus, headlong into mystery" - Rush, Cygnus X-1

Go Up

Garoth
Member
here be dragoons
*

Karma: 22
Offline Offline

Posts: 2368


Mercenary


View Profile WWW

« on: February 20, 2008, 09:23:01 AM » Reply #33

Well, you gotta start somewhere, and Python is a gentle start with excellent documentation that happens to also explain concepts. Sure, C/C++ is important, but it's not a good starting language, imo.

C++ has some uses, but it seems only if you just use the _bare_ basics of it. As soon as you start getting into its features, you're fucked. Also, I'm biased against it considering everyone I really respect in programming has no liking for it whatsoever. Example:

"The kernel won't use C++, even if it's just to keep the C++ programmers away" -- Linus

It's not an inherently bad language, its just abused to death and makes for a terrible introduction to programming. The first language you learn should be not overly complex. If you find a language that you enjoy programming in, there is a greater chance you'll get to love programming. If you start off with something like Java, you'll think its all like that. Another point against C++ is that _they renamed everything ffs_. If you learn all their naming conventions then try to read documentation with standard naming, you'll be a bit confused at best.

(And Python can be easily made to be not slow, in one of several ways. See Iron Python, Psycho lib, and for some purposes, stackless Python.)

Anyway, my point wasn't use Python. It was look around and find something that you'll enjoy coding in. Enjoyment is what gives the super powers to the top coders. Without enjoying what you do, you won't get anywhere in it.
Logged

Garoth of Garoth.com

Go Up

Amanieu
First Lieutenant
****

Karma: -23
Offline Offline

Posts: 228



View Profile

« on: February 20, 2008, 10:12:21 AM » Reply #34

My first language was Visual Basic, and I think it is a very good language for beginners. Visual Basic allows total beginners to easily create a graphical app, without getting lost in a ton of code, and also not having the "console-only stuff sucks" feeling. Although it introduces some bad programming practices (variable are created on first use, no need to declare them), I liked it because it doesn't scare people off programming because you aren't restricted to console apps like most languages (for beginners) and the syntax doesn't use a ton of symbols. Of course VB is not a serious language and when I left it I was already trying to make pointers work in VB Cheesy, so the move to C was kinda natural. (I already knew all about pointers) Also VB is *very* slow, even if you compile it to native code instead of bytecode (they call it p-code).
Of course, C++ is more well know than C, so I just went onto a website and learned C++. The thing that confused me about C++ was this operator overload crap.
Code:
1 cout << "Hello world";
2 
(This is the code used in about every C++ tutorials)
I looked up the definition of the << operator and it told me it was the bit shift operator. This is very misleading for beginners, and will cause a lot of confusion when you try to use the real operators. Also, at that time I did not see the advantage of object-oriented programming, so that drove me to drop C++ and learn C instead.
Logged

Go Up

Angus Young
First Lieutenant
****

Karma: -101
Offline Offline

Posts: 213


I BROKE MY G-STRING!(inside joke)


View Profile

« on: February 20, 2008, 12:09:21 PM » Reply #35

Whatever... I'll learn programming one way or another...
Logged

Zombies are people too.

Go Up

Garoth
Member
here be dragoons
*

Karma: 22
Offline Offline

Posts: 2368


Mercenary


View Profile WWW

« on: February 20, 2008, 12:21:46 PM » Reply #36

Oh god, I've lost respect in Amanieu after reading that he recommends VB to newbies.

VB was my first language as well, because I was recommended it. Huge mistake. Its nothing like other languages -- what you learn is not transferable. Worse yet, it made learning a second language _harder_. Wow, it's serious shite.

(And again, the "oh its got graphics" thing isn't that great... GTK and QT both have instant form builders as well.)

Oh, and Angus... I know one or two people will disagree with me here, but switching to Linux will probably be of big benefit to you. Stuff like learning the ways of console-fu will help you along your path to becoming a grand master. Linux is a fully customizable environment -- everything that you use in it (almost) will have source code available for you to read. Learning to manipulate your computer via text means working on the computer at the same level as the programmers who wrote it. Furthermore, as you learn about Linux, you learn how it has more and more gifts for you. They really have thought of everything already. Want to write your own desktop environment? We have a configuration file for that. Want to customize every part of your theme? GTK/QT does that. Want your windows to wobble when they move? Sure, no problem. Want to find every folder named .svn and delete it in about 40 keystrokes? Linux has that kind of raw power.

I really feel that I have gained a lot from using Linux over the last few years. I am far from using it to its utmost, but its nice that it still has surprises for me in the deep dark corners of /usr/bin and even ~. Smiley
Logged

Garoth of Garoth.com

Go Up

Angus Young
First Lieutenant
****

Karma: -101
Offline Offline

Posts: 213


I BROKE MY G-STRING!(inside joke)


View Profile

« on: February 20, 2008, 12:43:13 PM » Reply #37

Our school uses Linux in the programming classes. I've used it a few times and I really like it because of the interface. I won't put it on this computer 'cause I use this one to game on and there are few games linux compatible, am I right?
Logged

Zombies are people too.

Go Up

Rend
Member
Lieutenant Colonel
*

Karma: 27
Offline Offline

Posts: 357


}MG{


View Profile

« on: February 20, 2008, 03:42:00 PM » Reply #38

Our school uses Linux in the programming classes. I've used it a few times and I really like it because of the interface. I won't put it on this computer 'cause I use this one to game on and there are few games linux compatible, am I right?
I 'think' there is a way you can install linux and still have access to your other OS (XP I'm guessing) Someone else may know what I'm talking about, I'm not really sure. It still comes down to whether or not you feel like the extra effort.
Logged

Go Up

tyranis
Member
Major
*

Karma: -7
Offline Offline

Posts: 304


View Profile

« on: February 20, 2008, 05:02:24 PM » Reply #39

Our school uses Linux in the programming classes. I've used it a few times and I really like it because of the interface. I won't put it on this computer 'cause I use this one to game on and there are few games linux compatible, am I right?
I 'think' there is a way you can install linux and still have access to your other OS (XP I'm guessing) Someone else may know what I'm talking about, I'm not really sure. It still comes down to whether or not you feel like the extra effort.


Of course, it's called dual booting. The ubuntu installer can handle everything for you if you only have one parition(you should only have one if you have only installed XP).


I used ubuntu for a bit and enjoyed it; though I switched back since it lacked proper directx game support. Also, I found ubuntu a little too breakable in my hands, not saying I haven't messed up XP.
Logged

Go Up

Garoth
Member
here be dragoons
*

Karma: 22
Offline Offline

Posts: 2368


Mercenary


View Profile WWW

« on: February 20, 2008, 05:19:08 PM » Reply #40

But yeah...

If you install Ubuntu, it automatically resizes your windows, installs itself, and then gives you an option at boot time which OS you want to use. It means that if you want to game, you can use one, if you want to do everything else, the other Smiley

As for "the interface"... well, that's very flexible. If you do a google/youtube search for Linux or Ubuntu, you may see quite a few different screenshots/videos. Like I said, Linux is greatly customizable. In fact, I feel confident in saying that you can make Linux look and behave nearly exactly like any other operating system. (Obviously, with a bit of work.) In fact, we had themes that made it look like Vista before Vista was even released. Not that I generally want my computer looking like Vista...

Someone ever rewrote the start button thing.
Logged

Garoth of Garoth.com

Go Up

supertanker
Member
Sergeant
*

Karma: -2
Offline Offline

Posts: 86


Tremulous Mapper and Granger Caregiver


View Profile WWW

« on: February 20, 2008, 07:43:57 PM » Reply #41

Linux is very easy to use, but only once you figure out WTF everything does.

Dual-booting should be automatically detected and configured at the install, unless you have a weirdass operating system.
One of my computers used Windows XP, Ubuntu, and Fedora Core on the same machine.
Is that 'triple booting'?
Logged

Granger Caregiver

Go Up

Angus Young
First Lieutenant
****

Karma: -101
Offline Offline

Posts: 213


I BROKE MY G-STRING!(inside joke)


View Profile

« on: February 21, 2008, 07:13:04 AM » Reply #42

Which OS would you recommend so I could get a head start? From what I'm hearing Ubuntu sounds easier to customize, but are there any others people would recommend?
Logged

Zombies are people too.

Go Up

munroe
Member
Spambot
*

Karma: 10
Offline Offline

Posts: 557



View Profile WWW

« on: February 21, 2008, 07:40:33 AM » Reply #43

Ubuntu is the way to go. There's a lot of others that mimic or improve on the functionality, but the fact remains that the Ubuntu community is very newb friendly, and will be very willing to help you out.

There's also us. Once you get down to the nitty gritty, there's not much difference between one distribution to the next(it's just the packages installed), so we can help too.
Logged

Go Up

Garoth
Member
here be dragoons
*

Karma: 22
Offline Offline

Posts: 2368


Mercenary


View Profile WWW

« on: February 21, 2008, 08:40:08 AM » Reply #44

Yeah, thankfully at least Linux is united about the core and structure, more or less. The barriers fall quickly when you get low enough, as munroe said. The main difference between distributions is where they store their files. (Too bad they can't all just agree on one place!) Another benefit of Ubuntu is that it has stolen Debian's package format & package distribution software. (.deb and apt respectively.)
Logged

Garoth of Garoth.com

Go Up

Pages 1 2 3 4 Go Up
Print
Jump to: