http://gamingtrend.com
April 18, 2014, 07:22:23 PM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Calendar Login Register  
Pages: [1] 2   Go Down
  Print  
Author Topic: Recommend me a programming language  (Read 1835 times)
0 Members and 1 Guest are viewing this topic.
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« on: June 21, 2011, 06:53:39 PM »

So,
seeing that I have some spare time, I wanted to learn a bit about programming. I havent done anything like this in....12 years I think - I learned Pascal, some machine code, and some Delphi 7.0 back in the day, but don't really remember anything about it.
This is purely for fun and perhaps being expanding my horizons a bit while being between jobs.

I have my eye on the following stuff:

Eclipse - Which is, as I understand it, a java programming system, but without any fancy graphical stuff. My friend mentioned Netbeans as an alternative, since it features graphical components as well

Visual Studio 2010 - Its microsoft and .net platform, wave of the future and all that, and I have an idea that its somewhat similar to Delphi, in it being easy to make some small stuff on

Anyone have any ideas or insights they want to share would be muchly appreciated
Logged

A new one
SkyLander
Gaming Trend Senior Member

Offline Offline

Posts: 1868



View Profile
« Reply #1 on: June 21, 2011, 07:10:41 PM »

If you're serious about it, download the Express Version of Visual C++ and pick up C++. You need a foundation in something when you understand C++ jumping to any other language is pretty simple since you already know the structure of computer language. It really is learning something like French or Spanish or another language, they all have there quirks but there is a fundamental level to them, if that makes sense. I wouldn't start with scripting languages and although Java isn't really a scripting language it has a lot of the elements of one. C++ forces you to understand memory allocation which then makes you appreciate the scripting languages more. Scripting languages would be Perl, Python, Javascript, PHP and so forth.

In either case you need to set a project for yourself, what do you want to do that make things easier or something that you feel a program would help with? Then start working from there, look up tutorials for a simple hello world program in Visual Studio and go from there. I think LifeHacker had a pretty good intro to programming deal awhile ago.
Logged

Pretty....what do we blow up first?
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #2 on: June 21, 2011, 07:16:12 PM »

Thanks Skylander - I was told though that C++ was pretty hard, but hey, I may even remember some stuff as I go along.

I am actually looking at the visual studio 2010 express right now - whats the drawback compared to the professional version, which I can get pretty cheap?

As for project - that was my idea as well - I was actually thinking of doing something that I did a long time ago - write a character generator for simple Dungeons and Dragons characters, just to understand the language.

Those scripting languages - arent they mainly for web programming? PHP and the like?
Logged

A new one
Shinjin
Gaming Trend Reader

Offline Offline

Posts: 273


View Profile
« Reply #3 on: June 21, 2011, 07:29:58 PM »

Quote from: Razgon on June 21, 2011, 07:16:12 PM

I am actually looking at the visual studio 2010 express right now - whats the drawback compared to the professional version, which I can get pretty cheap?

One drawback is that you can't control the target environment in the free version.  Not usually a big deal, but if you are developing in a 64-bit environment, but want to utilize a 32-bit library (such as DirectX), tough nuggies.
Logged
SkyLander
Gaming Trend Senior Member

Offline Offline

Posts: 1868



View Profile
« Reply #4 on: June 21, 2011, 07:30:38 PM »

Quote from: Razgon on June 21, 2011, 07:16:12 PM

Thanks Skylander - I was told though that C++ was pretty hard, but hey, I may even remember some stuff as I go along.

I am actually looking at the visual studio 2010 express right now - whats the drawback compared to the professional version, which I can get pretty cheap?

As for project - that was my idea as well - I was actually thinking of doing something that I did a long time ago - write a character generator for simple Dungeons and Dragons characters, just to understand the language.

Those scripting languages - arent they mainly for web programming? PHP and the like?

I believe the full version has a lot more to do with code base management, IE if you have a really large code base you are working with, and maybe some expanded debugger stuff.

And yes C++ is hard but it's only hard in that you have to do everything. Higher level languages do a lot of things for you but the issue with that is that you then don't worry about it and it will come back and bite you. C++ is the foundation for most to all higher level programming languages which are really called "managed" languages.

PHP is more for web programming, Perl and Python are really powerful and can be used as web programming but they are so much more than that.

And a character generator is a great start there are a lot of basic things you can pick up doing that. Don't look at anything dealing with GUIs, stick to text based, stick to C++ and build that foundation, I know there are a lot of tutorials out there to mimic 6 sided dice rolls and can expand on that. Just remember to keep things simple I think one of the main issues with really learning programming is that people dive in to fast so they get ahead of themselves and get burned out trying to make things work that they don't truly understand.

So start small IE for your DnD character builder start as:

Read up on using the C++ random number generator and build something to be able to get results of dice rolls, figure out how to take that result and output it to the screen. This will get you used to variables and functions and so forth again.
Learning that, maybe move into structs and start trying to build different classes and races, this will get you used to organizing your code splitting things up so you can manage things better.

Something like that, map out what you need to do so you can do little bits at a time.
Logged

Pretty....what do we blow up first?
th'FOOL
Executive Producer and Editor-At-Large
Gaming Trend Senior Member

Offline Offline

Posts: 4989


Never whistle while you're pissing


View Profile WWW
« Reply #5 on: June 21, 2011, 07:40:41 PM »

Eclipse is an IDE- you can do more than just program Java with it. I don't care for it myself as it runs on Java and tends to be a resource hog.

I wouldn't call .net the wave of the future by any means. In fact, I'd call both .net and java the wave of the past, especially java

Have you considered Ruby and Ruby on Rails?
Logged

Mike Dunn
Executive Producer & Managing Editor, GamingTrend
kathode
Gaming Trend Senior Member

Offline Offline

Posts: 2469



View Profile
« Reply #6 on: June 21, 2011, 07:45:27 PM »

So oddly enough, for the last couple weeks I've been trying to start teach myself coding.  I decided I wanted to do it the "right" way and not try and just cram one of those "Teach Yourself C++ in 21 Days" books into my head.  So I'm going through all the lectures and exercises on MIT's OpenCourseWare site for their CS track.  It's complete video and assignments from real MIT courses.  

I'm taking 6.00 which is basically their version of "Computer Programming for Idiots."  The language they start off teaching is Python.  There's no explanation given for why they went with Python, at least so far, so take it for what it's worth.  I'm only about five lectures in but I'm learning a lot and enjoying cranking out dead-simple programs.
Logged
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #7 on: June 21, 2011, 08:01:20 PM »

Thanks Skylander - that sounds like a plan and more or less what I wanted to do myself. Ive heard often enough from my friend who does this for a living for a major arms tech company of all things, that they always make modules, small parts of code and then put it together. Sounds daunting, though

th'Fool - I read that it was an IDE, no idea what it is though :-) As for Ruby, no idea what that is either - Can you elaborate? Thanks!

Kathode - Those are classes you are taking where you have to physically attend? nice, but a bit out of what I wanted to do. :-)

And yeah, I want to make simple stuff as well - I'll not be making my version of fallout with swords until after a month or so ;-)
Logged

A new one
zinckiwi
Gaming Trend Reader

Offline Offline

Posts: 310


View Profile
« Reply #8 on: June 21, 2011, 08:45:19 PM »

I would be a happy man if the entire computing community mutually agreed to abandon all other languages and standardise on python.

I love python.



A more serious answer: depends on what you want to do, or might want to do. Write a Windows program? C++ or C#. Dip a toe into business IT development? Java. Learn programming concepts, with a low barrier to entry but plenty of power under the hood? Python.
Logged
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #9 on: June 21, 2011, 08:53:52 PM »

As I understood it - the thing with tools like Python is, that is barely any graphical components included in the interpreters, right? I'd just like to write small windows programs, perhaps eventually small games, just for kicks.
Logged

A new one
zinckiwi
Gaming Trend Reader

Offline Offline

Posts: 310


View Profile
« Reply #10 on: June 21, 2011, 09:00:39 PM »

GUIs aren't hard in python but there's nothing baked in. You'd use Tkinter or any number of third-party packages to do anything that's not part of the stock language.

However, based on your plans I'd go C# (which is very nice) if you're committed to the Microsoftverse, or C++ if you'd like a somewhat more complex, but also more portable, language.
Logged
SkyLander
Gaming Trend Senior Member

Offline Offline

Posts: 1868



View Profile
« Reply #11 on: June 21, 2011, 09:03:34 PM »

I agree in that Python is incredibly awesome all of my major projects for my final years in college I did in Python just because of how insanely simple it is. But for someone just starting out? I know it sucks but really buckling down to understand the concepts of computing helps a lot, and that means starting in C++ and learning how to actually manage your program. Some people might disagree with me but I feel that I wouldn't be at the job I am now if I didn't have some understanding of this stuff, and the power of Python is that all of the management is done for you, you don't need to declare types and you can do a lot of crazy stuff that would be a lot more difficult in C++(Granted STL helps a lot) and even Java to a degree. I'm just trying to point you into the right direction I guess, if you want to start fast and just making things than dive right into Python, I love it I wish I could use it everyday.
Logged

Pretty....what do we blow up first?
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #12 on: June 21, 2011, 09:05:17 PM »

the MS visual Express package I just downloaded has C++ though included in it. I'm thinking more and more on going at that, through the Visual Studio package. Never heard of C# though :-)

And now I saw Skylander had answered as well : Yeah, I am thinking of going C++ now. When I get the basics down, I imagine I can check out other languages as well once i know more about what the differences are, and also how much I want to do.
Logged

A new one
kathode
Gaming Trend Senior Member

Offline Offline

Posts: 2469



View Profile
« Reply #13 on: June 21, 2011, 09:11:45 PM »

Quote from: Razgon on June 21, 2011, 08:01:20 PM

Kathode - Those are classes you are taking where you have to physically attend? nice, but a bit out of what I wanted to do. :-)

No, you can see in the link, all the lectures for the entire class are available on YouTube.  You watch the YouTube lecture and then there are corresponding exercises that can you do.  It's a pretty awesome service MIT offers - all classes are all available for free on the web.
Logged
Laner
Gaming Trend Senior Member

Offline Offline

Posts: 4683


Badassfully


View Profile WWW
« Reply #14 on: June 21, 2011, 10:01:07 PM »

I'm in the same boat as Razgon - I *want* to learn programming, but just figuring out where to jump in is daunting.  Even so-called "beginners" books (and a couple of 1/2 day classes I've taken) make a lot of assumptions about what you already know or don't know.

Hopefully we can keep this discussion going for a while.
Logged
DOSHIGH
Gaming Trend Reader

Offline Offline

Posts: 88


View Profile
« Reply #15 on: June 21, 2011, 10:22:56 PM »

Two sources that were recommended to me when I looked into learning some programming on the side were:

How to Think Like a Computer Scientist - a high school teachers intro class to programming using Python

&

Learning to Program - for people new to programming, also uses Python.

I haven't had the time to get into either but plan to later in the year or something else that pops up in the discussion.  The MIT programs looks interesting.
« Last Edit: June 24, 2011, 12:42:46 PM by DOSHIGH » Logged
DarkEL
Gaming Trend Senior Member

Offline Offline

Posts: 2931



View Profile WWW
« Reply #16 on: June 21, 2011, 10:26:47 PM »

Coming in a little late to the discussion but I'll throw a couple thoughts in here as I've had experience in decent list of programming languages. Every language has good and bad things about it, and the choice typically boils down what is the best fit for the types of project that you're planning to build and your own personal preference for types of languages (e.g. statically or dynamically typed, functional vs Object Oriented, etc, etc)

Based on your earlier comments that you're looking to build a few simple things for fun - I'd have to disagree with Skylander about his recommendation for learning C++ (not to imply that it's not good to learn C and C++ but it might be overkill for what you're looking to do). I'd personally recommend starting out with something a bit more "fun" and then moving on to something more complicated later if you're still enjoying it.

Java is okay and is a good learning language. The Head First Java books are a decent introduction to Java.

The .net languages used to be pretty horrible but they've gotten quite a bit better these last couple of years. So something like C# wouldn't be a bad choice for building apps for Windows. Unfortunately I don't have any recommendations on books for it.

As people have said - scripting languages like Python and Ruby are good choices as well.
- If you want to use Python - I've heard excellent things about this Free book  - http://learnpythonthehardway.org/
- If you want to use Ruby - There's the free Why's Poignant guide to Ruby (http://www.rubyinside.com/media/poignant-guide.pdf) which is the craziest computer programming book you'll ever read. Or any of the Beginning Ruby books

Another fun option - is this book (http://www.amazon.com/Seven-Languages-Weeks-Programming-Programmers/dp/193435659X) which will give you a VERY high level overview of seven different programming languages (Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell), highlighting the differences between them.

But no matter what you choose - have fun with it -- otherwise what's the point  :-)



Logged
EngineNo9
Gaming Trend Senior Member

Online Online

Posts: 10643


I said good day, sir!


View Profile WWW
« Reply #17 on: June 21, 2011, 10:37:52 PM »

I learned programming in C and then C++, and still do almost all my work in those languages, so I'm a bit partial to them.  I agree with Skylander that knowing the lower level stuff helps you to have a deeper understanding of things like memory allocation when moving to a managed language, but as DarkEL pointed out that is probably a bit outside what you are actually looking for right now.  

There isn't much harm in first learning a language where you can make larger initial progress and then go back to the low-level stuff if you are still interested in it at some later point.  After all, if you get bogged down in the crappy low-level stuff early on you're probably much more likely to just quit before you finish what you wanted to do.
Logged

Sandwiches do fix everything.
wonderpug
Gaming Trend Senior Member

Offline Offline

Posts: 10992


hmm...


View Profile
« Reply #18 on: June 21, 2011, 11:07:46 PM »

I don't know if iOS and Droid programming appeal you at all, but you might be interested to hear this account from a Penny Arcade forumer.  The guy went from zero programming knowledge to a completed iPhone game in about 3 months:

Quote from: Melkster
Quote from: spookymuffin
Quote from: admanb
Quote from: Melkster
Hey PA-ers :O

Back in March, I decided I wanted to make an iPhone game. My only problem was I knew absolutely nothing about programming. I did a ton of research and eventually decided on learning Corona SDK and Lua, the programming language it uses. Two Lua programming books, dozens of tutorials, and a few hundred hours of work later and I'm nearly finished with my first game. Should be on the App store in a month. Here it is:

http://www.youtube.com/watch?v=0dICatjkQZY

You are like the opposite of every other person who has ever thought, "I want to make an X game." I applaud you, you glorious motherfucker.

Indeed, myself included. Do you have any kind of devblog or anything that roadmapped your progress?

Alas, I do not. frown

But, why don't I just quickly tell the story here?

This past Fall, I came to a conclusion: I need to find a real career. My current job was often boring and definitely wasn't going anywhere. I decided, therefore, that I would transition into some kind of software development. And in March of this year, I quit my old job to train as a software developer for the University of Texas. (Read more about the program here)

By the second day of training, I was hooked. Programming and I fit. It stimulates my brain. It's challenging. It's terribly, addictively fun.

Drunk in my newfound love, programming for merely 40 hours a week wasn't enough. So, I decided to try and make a game. I did a ton of research, read a bunch of blogs, and finally settled on Corona. I figured if a 14 year old could learn Corona and make an app that dethroned Angry Birds, I could too.

Now, here's something you should know about me. When I get an idea in my head, I tend to go all out. And I usually don't spare any expense, and I relentlessly peruse my goal until I either get punished so painfully that I quit ... or I succeed. (You should read some of the Internet Dating thread last Fall for some proof of this, haha.)

So, I decided to blow half my savings on a $1,300 laptop to help me develop on the go -- during my lunch hour at work, at a coffee shop, at a restaurant, wherever. And I commit to spending a huge chunk of my spare time to just sitting down with the software and trying to make things work. .. And I later bought the $100 Apple iOS SDK, and the $200 Corona SDK.

The initial stages were pretty difficult. There was so much I didn't understand about what was going behind the scenes in the code. It was at least a week after booting up Corona for the first time that there was a difference between local and global variables. Figuring out arrays. For loops. Learning about functions. If and elseif and else statements. And a whole bunch of other ideas that I'm not even sure how to explain in english, since I mostly understand them by practice and learned them by experimentation and failure.

There came a point where experimentation wasn't enough, though, and I picked up a couple books on Lua. I read until I answered a ton of questions I had from my repeated earlier failures, and then went back. (I only got through 1/3rd of one book and a 1/4 of the other.) After Memorial Day weekend, I pretty much had the game in the state you see in the video, minus the graphics, high scores, and menu system.

More on that weekend: That was programming nirvana for me. All three days were me, sitting in my apartment, working off adrenaline and dopamine. Saturday and Sunday, I worked out all the logic of those solvers you saw in the video, and got them all to work perfectly. And on Sunday night at around 2 AM, I came up with the idea of randomly generating levels, and a simple way I could make that happen.

I slept for four hours, woke up, got breakfast, and then sat down to program the level generator at around 9 AM. At 10 PM, I got up again. The level generator was fully functional, and worked great. I programmed for 13 straight hours, getting up for just bathroom breaks, and built something that I wouldn't have had a clue about just a few weeks prior. I felt on top of the world, like I could do anything.

Over the next few weekends I've just been polishing and polishing. Now there's just a short list of bugs to work out (like, wtf, why did this solver just disappear for no reason!?) and testing to do (must find friends with droids!) and then I'll get to start my next project.

Alright. I have to go back to work now.
Logged
SkyLander
Gaming Trend Senior Member

Offline Offline

Posts: 1868



View Profile
« Reply #19 on: June 21, 2011, 11:16:18 PM »

The only reason I've kind of pushing doing C++ over managed languages is that you might get into bad habits that can wreck you if you have to program in a lower level language later on or something. I totally understand that it's supposed to be all about the fun and if you want to dive into Python first that's great it's a wonderful language since it does also force you to at least right readable code. Instead of some of the garbage I have to deal with time to time with C++. I mean either way is perfectly fine, it's just what I said was the way I learned and having that foundation has made it totally easier for me to be able to bounce between several languages by just understanding the fundamentals that starting off with Python or something similar might not do.
Logged

Pretty....what do we blow up first?
kathode
Gaming Trend Senior Member

Offline Offline

Posts: 2469



View Profile
« Reply #20 on: June 21, 2011, 11:43:49 PM »

I do think there's a fundamental mental shift you have to make when starting to code, particularly if you don't have a strong mathematics background.  I struggle with simple programs like a loop to find primes, or figuring out how many packages of 6, 9, and 12 mcnuggets I have to buy to get some total number smile  I can talk through how I'd get a solution to these things, but expressing it in code and returning the right results is still difficult.  Right now the focus of the 6.00 course is learning when to apply which kind of loops, when to apply recursion, what is abstraction and why is it useful, that kind of stuff.  I feel like there's an important level there that's helpful to understand before you jump into the nuts and bolts, but maybe it's not absolutely necessary if you just want to start producing stuff.
Logged
Kagath
Gaming Trend Senior Member

Offline Offline

Posts: 2481


View Profile
« Reply #21 on: June 22, 2011, 01:03:29 AM »

Visual Studio Express - It's free
C# - Common enough now
XNA - For the basic games you'll eventually want to make
Logged

Playing: ? 360 | FO: New Vegas | BF4 PC / 360 | ? - WINGS *are* shit lately.
PSN/Live: MrStark77
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #22 on: June 22, 2011, 11:31:28 AM »

Well, I tried Visual Studio C# a bit, and found it very daunting - I am now trying out a bit of Python instead, and using the Python shell is quite fun.

I'm still a bit concerned about making an UI with python, but for now, learning about classes and to operate integers and strings and the like is quite fun.

IF anyone is interested I'm using this guide (http://www.alan-g.me.uk/tutor/index.htm) and its pretty good ,and takes into account that you have never programmed before
Logged

A new one
TiLT
Gaming Trend Senior Member

Online Online

Posts: 6028


Preaching to the choir


View Profile WWW
« Reply #23 on: June 22, 2011, 11:58:09 AM »

Do NOT attempt to start programming with C++ unless you've got a natural talent and more enthusiasm than you know what to do with. C++ is extremely flexible, which is why it's the wrong place to start in. Because of its flexibility, it allows you to develop bad habits which are going to be incredibly hard to get rid of later.

Java is often considered the perfect learning language, but I wouldn't recommend that either unless you're planning to code professionally. Java feels like a theoretically appealing programming language more than a practically appealing one.

Python, PHP and other scripting languages are a possibility, but I wouldn't recommend them either. They have some rather glaring problems in my eyes, and languages like PHP suffer from the same bad habit issue as C++.

Go with C#. It's relatively easy to learn and will force you to adapt good habits from the beginning. It gets you into the object oriented mindset that you're going to need, rather than the traditional way of teaching that has you starting with ANSI C and learning OO later (which is tough, let me tell you!). C# is popular both in professional business programming and in gaming these days. It may not be used for the game code itself in most cases, but it's often used for writing the toolsets.

An added bonus: Learning C# allows you to code and publish games for the Xbox 360 in the simplest way possible through the XNA Framework.

As an aside, be careful about accepting programming advice blindly from people who've been doing this kind of thing for a while (like me). Most of us aren't really capable of judging the best approach to programming any more, and we often went about it the wrong way ourselves. I myself started with Basic, then went through C, Java, C++ and later C#. While it's made me a better programmer in the end, it was a bad approach that forced me to unlearn many habits along the way. Learning C++ first will make it very easy to learn just about any other programming language later, but getting there in the first place takes years.
Logged
Covenant
Gaming Trend Senior Member

Offline Offline

Posts: 535


View Profile
« Reply #24 on: June 22, 2011, 12:44:58 PM »

Here's the progression I would recommend:

1) Visual Basic - a fairly easy language that handles most of the PITA stuff for you, code reads a lot like english, still powerful enough to do lots of cool stuff and basic object oriented programming.  You can belt out a simple windows program complete with UI in no time at all.
2) C# - transitioning from VB to C# is easy in that the dev environment is gonna be almost the same, you just get a lot more control over things with the language itself and the syntax changes but by now that shouldn't be difficult to deal with.  UIs are still easy to create here as well.
3) C++ - this is where you end up if you need control over most everything that's happening, and the syntax between C++ and C# will be very similar, just more control again.  I havn't had need to use C++ in years, so I have no idea how easy/difficult UIs are now.  They used to be a PITA.
4) Assembly Language - haha... no, don't do it.

Jumping in with C++ right away will likely scare you off and will be more frustrating than fun.  Do yourself a favor and learn the fundamentals in a simpler language then graduate up if you feel like you don't have enough control.
Logged
zinckiwi
Gaming Trend Reader

Offline Offline

Posts: 310


View Profile
« Reply #25 on: June 22, 2011, 01:19:26 PM »

I think something to bear in mind, too, is that there are (broadly) two categories of learning "good programming". One is technical: python or C# isn't going to teach you about pointers and linked lists and memory management. C++ will.

But the other is logical: how to write modular code, choose the right flow control for the circumstances, learn "big ideas" instead of the minutiae of syntax; even something as simple as good formatting*. For someone just starting out, I'd say that the logical stuff is more important to learn early than the technical stuff.

* And of course, I'd tap python here. Blocks through indentation FTW.
Logged
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #26 on: June 22, 2011, 01:54:08 PM »

Well, as I noted earlier, I spent some hours today learning python, and while fun, I could easily see that the UI was going to be a major pain for me, using the python modules for this.
I did learn a lot though, or rather, remembered again how to make loops, strings and so on.

So, I kinda started on VB now instead, and went through the tutorial to make a picture viewer. Pretty easy, and I think this is what I'm looking for. For now anyways ;-)

I think I'll see if I can make some stuff using the VB now, and see how that goes. As I mentioned earlier, its not something to I want to make a living off, but something to keep a bit sharp with, and have fun with while looking for a job.
Logged

A new one
TiLT
Gaming Trend Senior Member

Online Online

Posts: 6028


Preaching to the choir


View Profile WWW
« Reply #27 on: June 22, 2011, 02:09:14 PM »

Quote from: zinckiwi on June 22, 2011, 01:19:26 PM

I think something to bear in mind, too, is that there are (broadly) two categories of learning "good programming". One is technical: python or C# isn't going to teach you about pointers and linked lists and memory management. C++ will.

But the other is logical: how to write modular code, choose the right flow control for the circumstances, learn "big ideas" instead of the minutiae of syntax; even something as simple as good formatting*. For someone just starting out, I'd say that the logical stuff is more important to learn early than the technical stuff.

I agree completely. All the pointer knowledge in the world isn't going to do squat to improve your applications if you don't know design.
Logged
SkyLander
Gaming Trend Senior Member

Offline Offline

Posts: 1868



View Profile
« Reply #28 on: June 22, 2011, 02:20:58 PM »

Quote from: Razgon on June 22, 2011, 01:54:08 PM

Well, as I noted earlier, I spent some hours today learning python, and while fun, I could easily see that the UI was going to be a major pain for me, using the python modules for this.
I did learn a lot though, or rather, remembered again how to make loops, strings and so on.

So, I kinda started on VB now instead, and went through the tutorial to make a picture viewer. Pretty easy, and I think this is what I'm looking for. For now anyways ;-)

I think I'll see if I can make some stuff using the VB now, and see how that goes. As I mentioned earlier, its not something to I want to make a living off, but something to keep a bit sharp with, and have fun with while looking for a job.

I made a GUI in python with PyTK I believe awhile ago, it is rather straightforward but again I would say to avoid doing GUI implementation and stick with command line and straightforward commands to get an understanding of the language then branch out and look at GUI stuff. That's just what I think anyway.
Logged

Pretty....what do we blow up first?
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #29 on: June 22, 2011, 06:33:48 PM »

Thanks Skylander, but for now, I think the best way for me personally, is to go ahead with something I'd find interesting myself, and Visual Basic seems to fit the bill. I may change my opinion of course ;-)

Does anyone know of any good tutorials for Visual Basic 2010 other than those at MS's own website? The second tutorial there has loads of errors in it, making it pretty hard (for me) to complete
Logged

A new one
Ænima
Gaming Trend Reader

Offline Offline

Posts: 108


View Profile
« Reply #30 on: June 22, 2011, 07:25:53 PM »

There's also pygame, which is a python wrapper around SDL, a multiplatform API that has helped many an Indie developer. I prototype a lot of my games in pygame before deciding if I want to take them to a beefier platform. If you're just looking to learn programming, and do simple game development, I'd highly recommend it. VB is the wrong direction. VB is made for interfacing with the Microsoft's ecosystem and making generic Windows apps.  But if you're having fun, it's all good.

I've been a software engineer for over a decade. I used to say scripting engines were for amateurs, which was kind of true, but things have changed. If you want to learn to be a software engineer, I'd say to start with C, because you won't be given anything high level, and you'll have to learn how everything works before moving on to a richer language like C++ or Java. If you want to learn to program, there is no cleaner language than python. As a bonus, a lot of game engines do their scripting using python, so you'll be able to do mods as well.
Logged

happydog
Gaming Trend Senior Member

Offline Offline

Posts: 1469


View Profile
« Reply #31 on: June 23, 2011, 10:16:04 PM »

Quote from: Razgon on June 22, 2011, 06:33:48 PM

Thanks Skylander, but for now, I think the best way for me personally, is to go ahead with something I'd find interesting myself, and Visual Basic seems to fit the bill. I may change my opinion of course ;-)

Does anyone know of any good tutorials for Visual Basic 2010 other than those at MS's own website? The second tutorial there has loads of errors in it, making it pretty hard (for me) to complete

I was going to add some other ideas, but then you said VB and I have to just yell STOP! If you think VB is ok, then go with C#. Where some people said you will learn a lot of great fundamentals by going with C/C++ you will do just the opposite with VB. It is a horrible language that needed to die many years ago.
Logged

LiveTAG: happydog
TiLT
Gaming Trend Senior Member

Online Online

Posts: 6028


Preaching to the choir


View Profile WWW
« Reply #32 on: June 24, 2011, 04:26:51 AM »

Quote from: happydog on June 23, 2011, 10:16:04 PM

Quote from: Razgon on June 22, 2011, 06:33:48 PM

Thanks Skylander, but for now, I think the best way for me personally, is to go ahead with something I'd find interesting myself, and Visual Basic seems to fit the bill. I may change my opinion of course ;-)

Does anyone know of any good tutorials for Visual Basic 2010 other than those at MS's own website? The second tutorial there has loads of errors in it, making it pretty hard (for me) to complete

I was going to add some other ideas, but then you said VB and I have to just yell STOP! If you think VB is ok, then go with C#. Where some people said you will learn a lot of great fundamentals by going with C/C++ you will do just the opposite with VB. It is a horrible language that needed to die many years ago.

Yeah. The only reason it's alive is because Microsoft backed it. I seem to recall that even they regretted that later. VB is a one-way street. Go with C#.
Logged
Koz
Gaming Trend Senior Member

Offline Offline

Posts: 1358


View Profile WWW
« Reply #33 on: June 24, 2011, 05:02:20 AM »

C# is a good language to start with if you want to do GUI stuff. Visual Studio is actually pretty good when it comes to the "visual" part. You can do that same stuff in VB, but VB is the devil.

Another nice thing about C# is that it is very syntactically similar to Java, so you could pick that up easily (if you wanted to) once you got comfortable with C#.
Logged
Lord Percy
Gaming Trend Reader

Offline Offline

Posts: 235


View Profile
« Reply #34 on: June 24, 2011, 05:23:43 AM »

Visual Basic integrates nicely with Office though. I'm in a non-programming job, but I regularly use VB to write macros in Excel. It's also essential if you want to get good at MS Access. For a programming language that you might be able to use in a job later on VB isn't actually a bad choice. I'm by no means an expert, but I'm glad I know the basics.

On the other hand, I learned how to program in Java and picked up VB through some tutorials and by looking at examples. It's not very difficult to make the switch if you already know another object oriented programming language.
Logged
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #35 on: June 24, 2011, 01:05:29 PM »

Damn you! I know officially have no idea what language to start out with... I've tried VB and Python - Liked python, but am seeing a lack of how to make UI's can be crippling to me.
Logged

A new one
zinckiwi
Gaming Trend Reader

Offline Offline

Posts: 310


View Profile
« Reply #36 on: June 24, 2011, 01:26:20 PM »

I'll officially recommend C#. It's a more concise and powerful version of the VB that you know you already like. Trust me, between the two... C# smile
Logged
TiLT
Gaming Trend Senior Member

Online Online

Posts: 6028


Preaching to the choir


View Profile WWW
« Reply #37 on: June 24, 2011, 01:36:22 PM »

Quote from: Razgon on June 24, 2011, 01:05:29 PM

Damn you! I know officially have no idea what language to start out with... I've tried VB and Python - Liked python, but am seeing a lack of how to make UI's can be crippling to me.

Our C# suggestions are bouncing off you, I see. How about this: C# and VB are pretty damn close, except C# is actually useful beyond MS Office macros. They use the same tools, so if you thought it was easy to make a GUI in VB, you'll find it easy to make a GUI in C#.
Logged
Mystic95Z
Gaming Trend Reader

Offline Offline

Posts: 449


View Profile
« Reply #38 on: June 24, 2011, 02:59:22 PM »

If your interested in taking a stab at Java I highly recommend downloading the free community edition of Idea here: http://www.jetbrains.com/idea/

Easily the best java ide out there.
Logged
Razgon
Gaming Trend Senior Member

Offline Offline

Posts: 8261


The Truth is out there


View Profile
« Reply #39 on: June 24, 2011, 04:38:14 PM »

Quote from: TiLT on June 24, 2011, 01:36:22 PM

Quote from: Razgon on June 24, 2011, 01:05:29 PM

Damn you! I know officially have no idea what language to start out with... I've tried VB and Python - Liked python, but am seeing a lack of how to make UI's can be crippling to me.

Our C# suggestions are bouncing off you, I see. How about this: C# and VB are pretty damn close, except C# is actually useful beyond MS Office macros. They use the same tools, so if you thought it was easy to make a GUI in VB, you'll find it easy to make a GUI in C#.

hehe, no - they arent. I guess I just wanted to try out VB since I remember it from way back, and it was close at hand.

I'll give C# a try then. Now, I'm off to find resources again for a new language :-D
Logged

A new one
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines
Valid XHTML 1.0! Valid CSS!
Page created in 0.16 seconds with 103 queries. (Pretty URLs adds 0.037s, 2q)