• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Recommended Programming Languages?

NTA

Smash Lord
Joined
Sep 20, 2008
Messages
1,478
Location
(Decatur) Atlanta, GA
Can anyone suggest some programming languages? I only have 0.01% experience with C and C++. I've only done a few really simple basic console applications and I don't know where to go from there...
 

John2k4

The End of an Era
Joined
Aug 28, 2011
Messages
8,989
There's just about everything written in C, so if you can get a good handle on that... ;)

Personally I write small programs in C#, and have not put much time at all into C yet.
 

NTA

Smash Lord
Joined
Sep 20, 2008
Messages
1,478
Location
(Decatur) Atlanta, GA
What kind of programs have you written in C#?

I think I'll try C and C# for the next few weeks. Just not too sure how to go past the basics. :/
 

John2k4

The End of an Era
Joined
Aug 28, 2011
Messages
8,989
So far I have made a file installer, a simple sprite mover (with arrow keys & space to jump), and a very basic frontend for an arcade emulator.






--
If you want I can send you the source for them.
 

John2k4

The End of an Era
Joined
Aug 28, 2011
Messages
8,989
Microsoft's Developer Network has troves of information for anything you would want to do.

-
Here's my projects. Everything is built with Microsoft Visual Studio 2010 (Ultimate).
I removed a few files from "NeoLauncher" because it would not be legal to include them.


Password for the ZIP is "swf".
Download
 

NTA

Smash Lord
Joined
Sep 20, 2008
Messages
1,478
Location
(Decatur) Atlanta, GA
Lol well could you send those through other means xD

Never would've thought of checking MSDN. I started to but it looked a bit confusing so I stopped :/

Thanks for the links!
 

John2k4

The End of an Era
Joined
Aug 28, 2011
Messages
8,989
No problem! :)
(I put a note in there of what I removed; shouldn't be too hard to find around the internet. ;))

MSDN does seem pretty daunting/complex at first, but search for specific things (like: c# key press event), and it will point you to everything you need to know. In most cases, there will even be example code. :)
 

#HBC | Mac

Nobody loves me
BRoomer
Joined
Dec 5, 2005
Messages
5,086
Location
Mass
Choosing a language to learn depends on what your goals are for programming.
This. How is c# by the way? I've never tried it.

I think python's probably one of the easiest languages to pick up and there are a ton of resources for beginners. It also is a very powerful language that is useful for a wide array of things. It's a great general purpose language. Plus it's one of the 2 really popular languages for server-side web development. So it'd probably be easy to find work if you got good at it.

Personally I'd start with a general-purpose scripting language like python (or ruby) or a lisp language. Starting with a lisp will give you strong fundamentals over some of the important CS concepts. It's syntax is different than stuff you might generally associate with programming so that might seem like a turn off to you, but imo it's worth it.

idk how c# is(but it seems essentially like java) but I have experience in C/C++. Usually schools will start you out learning C/C++. But personally, I feel those languages really make it difficult for beginners to just dive in and start writing cool stuff. (Because of all the boilerplate code you need to write and all the non essential things you have to keep in your head)

Codeacademy.com is an interactive site for learning programming. It tries to make it as fun an experience as possible, and people have generally only said great things about it.
Learn Python the Hard Way is considered an amazing book for complete beginners.

The best advice I'd give you though. Is to start diving in and making applications. Learning by doing was the best way for me to get better really quickly.
 

Dastrn

BRoomer
BRoomer
Joined
Jul 16, 2005
Messages
9,472
Location
Indiana
I find Python fun to code in, and it's definitely powerful when working with extremely large numbers. I've written several Python scripts for linux, including custom app launchers.

The problem is if you start in Python or another scripting language, you learn habits that don't carry over to most careers in programming, and you specifically miss habits that are essential in most careers. C-type languages like C++, C#, or Java all use similar syntax and markup that is easy to carry from one language to the next with minimal time learning the new code.
Combine that with the fact that the vast majority of coding jobs out there are in either C#, C++, or Java, and you have yourself an ideal starting point for a beginner coder, as everything they learn in these languages will bring them one very real step closer to coding professionally.

Python jobs exist, but they are far more specialized and tend to draw a different type of person than your average Java coder.
Objective C is growing but if you choose that path, you are linking your career to the growth of one brand that is taking a downturn this year in some ways.

In all honesty, Java is probably the single most hireable language to have proficiency in. It's been around a long time, and has the entire Android platform available for coding projects. There is HUGE growth coming in mobile development, and Android is kicking Apple's *** in every department.

C# is simply the best starting point because the transition to Java is simple, and prototyping new projects in C# is as easy as it can be. Visual Studio 2010 is the single best development environment on the planet, and was built specifically to cater to C# programmers, among a few other languages including VB.net and C++.

I've coded in 7 or 8 languages now and I've never felt more at home than I do with C#.
 

AltF4

BRoomer
BRoomer
Joined
Dec 13, 2005
Messages
5,042
Location
2.412 – 2.462 GHz
If C# interests you, then just do Java instead. The languages are almost copy-past'able into one another. And with Java, you're not stuck dependent on the good grace of Microsoft. (You can get away with Mono. But that's really just a workaround. Go with something open source from the start.)

Python is so easy to program in, you can just think and it writes code all by itself.

I tend to use an unholy mixture of C and C++. I like the data abstraction of C++ and how I'm easily able to make coherent interfaces. But sometimes I just need the raw power of C, which is barely a step above assembler often.

But all languages are tools. Use the right one for the job.
 

Cathy

Smash Cadet
Joined
Mar 12, 2011
Messages
45
Don't worry too much about what language to learn because once you become comfortable with a few, you can use any language pretty easily. It's more important to learn the fundamentals than the details of particular programming languages. You can always check the manual for the latter.

I know a lot of people find Python to be relatively easy to learn as their first language. Personally I don't like Python, but as I said, it doesn't really matter. I think Ruby is the best of the popular dynamic programming languages.

As for how to learn, I'd do it by implementing some projects you find interesting. Actually writing code is the best learning experience. You'll probably be surprised how easy it is if you are serious about it. Once you become comfortable with small projects, look at the source code of some popular large free and open source programs to help learn how large projects are organised.
 

John2k4

The End of an Era
Joined
Aug 28, 2011
Messages
8,989
As for how to learn, I'd do it by implementing some projects you find interesting. Actually writing code is the best learning experience. You'll probably be surprised how easy it is if you are serious about it.
This. After I learned the very basics of C# in a Programming class, I thought of small things to write (which I posted earlier), and was able to make them after researching things I did not understand. ;)
 

AltF4

BRoomer
BRoomer
Joined
Dec 13, 2005
Messages
5,042
Location
2.412 – 2.462 GHz
Actually, the best programming advice I can give you is to learn Git and put your code up on Github. Get others to read your code and comment on it. Read others' code and learn.

I'm here btw.
 

#HBC | Mac

Nobody loves me
BRoomer
Joined
Dec 5, 2005
Messages
5,086
Location
Mass
Cool, I just created my github account a few weeks ago but have yet to put anything on it.

Alt, you do alot of systems/low level programming? What kinds of things do you work on?
 

AltF4

BRoomer
BRoomer
Joined
Dec 13, 2005
Messages
5,042
Location
2.412 – 2.462 GHz
I lead a team doing development on open source network security related software. We're still in the process of putting things out, but you can find some of it here:

https://github.com/datasoft

The only project on there right now is Honeyd, which we made many updates to. The main project we expect to release late January.

My expertise is really in networking and cryptographic protocols. Not typically driver level, but I have dabbled in it. I'm doing a game with M3D right now. (Line of Fire, on my Github) It's not much yet. I'm still making the basics of the game server/client and engine.
 

NTA

Smash Lord
Joined
Sep 20, 2008
Messages
1,478
Location
(Decatur) Atlanta, GA
Just created a github myself. Not too sure on how it works but they do give information on that so that's good. It's best to continuously write console applications until you get an understanding and then move on to write gui applications?
 

AltF4

BRoomer
BRoomer
Joined
Dec 13, 2005
Messages
5,042
Location
2.412 – 2.462 GHz
Well, first you're going to want to learn Git. Which is a good thing to do anyway. Being a master of any trade means being a master of the tools of that trade. Also take the time to learn your IDE. (Eclipse is great)

There really isn't a hard line between a "console application" and a "GUI application". Almost always, the GUI is just a frontend for engine beneath it. So you can write a backend program, and then later make a GUI for it.

That said, I get the impression that you really should just try doing some really simple programs first. Get used to the basics of algorithms, data structures, memory management, etc...
 

NTA

Smash Lord
Joined
Sep 20, 2008
Messages
1,478
Location
(Decatur) Atlanta, GA
Yeah that's what I was thinking. I just felt like I wasn't going anywhere. I just wanted to start over with a programming language and stay with it and then try to learn another one when I felt like I had a good understanding of the current one. I was just hardly understanding C++ and I was really interested in making a GUI program at the time and got really confused xD
 

AltF4

BRoomer
BRoomer
Joined
Dec 13, 2005
Messages
5,042
Location
2.412 – 2.462 GHz
Making GUIs themselves isn't hard. There's easy toolkits you can use like Glade that you can use to drag-and-drop items to make a GUI. The "difficulty" is making the buttons and widgets do what you want. IE: The actual program. Which is all underneath the hood.
 

Dastrn

BRoomer
BRoomer
Joined
Jul 16, 2005
Messages
9,472
Location
Indiana
I'd recommend Visual Studio Express. It will let you do some basic GUI stuff if you want.

I'm with Altf4 100% though. What counts is learning the logic behind it all. The GUI is just a wrapper for the same core code.
 

John2k4

The End of an Era
Joined
Aug 28, 2011
Messages
8,989
I love Visual Studio; I was able to get 2010 Ultimate from my school for free through a Microsoft student partnership program. :bee:
 
Top Bottom