These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

Out of Pod Experience

 
  • Topic is locked indefinitely.
Previous page12
 

Want to learn programming - Where do I start?

Author
Telegram Sam
Sebiestor Tribe
Minmatar Republic
#21 - 2012-04-03 21:28:31 UTC
Herzog Wolfhammer wrote:
Degren wrote:
Hey, gents and ladies. I've reached (what I consider) a dead-end in my current career.

In a few years I'll be able to stop (contracted work kinda deal), and continue pursuing education...but I don't really want to wait a few years.

I'm basically looking at programming, robotics and mechanical engineering. Ideally, I'd like to one day work on AI or medtech research/engineering.

So...my question for you folks is where do I start? I really only have a basic understanding of if/then/else relations so...not much.

I've sent a few e-mails to professors working on AI and such, but I get bot responses, so...help!

Thanks in advance!




I started programming in the desert, modifying threat libraries in the countermeasures systems of fighter jets. All I had was an LED display and a number pad and the whole thing was in hex code. Everything had to be learned from a binder marked "SECRET" that was thicker than a phone book and I could not take it home to study it.


How you get your start does not matter. So therefore I recommend you pick a goal, an easy one, that requires you create a program. Make it a goal in the lines of what you want to do (graphics, communications, databases, control, etc) and then, search on the internet for your answers.

Just about everybody who does anything with programming puts stuff on the internet showing how to do what they do. So finding the right information is not as hard as you would think.


Once you get a feel for it, congratulations, you are doing what 90 percent of programmers already do in their daily work. There is no point where it's said that you know what you are doing. Most programming work is finding a solution that already exists and adapting existing code to your own solution.





That's pretty cool. Had an engineer friend who designed avionics (weapons control and/or ECM) for F-16 fighters. Same thing-- he always wanted to take the manual home to study, but never could.
Kattshiro
Deep Core Mining Inc.
Caldari State
#22 - 2012-04-03 23:12:33 UTC
**** that **** use netbeans, or eclipse. VIM or emacs or other stuff is out dated and not needed. Dont go buy VS or a super frame work (Even though they are awesome...really) but a bunch of people want you to suffer like they did for no good reason. It wont make you a better programmer that's just haughty nerd elitism. (Reason why you'll spend less time figuring out stupid errors like misspelling or ; placement, and focus on the important aspects)
Jett0
Ministry of War
Amarr Empire
#23 - 2012-04-03 23:15:20 UTC
** Languages: **

I've found Python (SHUT UP!) to be a good way to learn basic programming logic. It's very easy to set up and understand.

C is traditional and easy to learn, and there's lots of documentation.

C++ is a little more difficult, but it's very powerful. There's a reason it's still around. Also, your C skills will transfer.

Special mention to Java, which I thought was dying, but then Minecraft exploded. All hail the .jar file I guess...

** Environment: **

Basic programming is taking your code in Notepad or whatever and running a compiler on the file, which converts your code into output (the program).

IDEs (Integrated Development Environment) came about as a way of managing multiple compilers and projects. It replaces obtuse command line stuff with pretty buttons like "Run" and "Save." If you use one, just keep in mind that it's still an elaborate script that takes words and converts them into computer language.

Most languages start with a small baseline of simple commands, but you can add capabilities with the use of "libraries" or "packages" or whatever that particular language calls it. For example, in C++, one of the standard libraries lets me put text on the screen. Another, non-standard library, lets me create windows of whatever resolution and display graphics for making games.

** My 2 cents: **

If you're super new to coding, start with Python. The commands and environment won't translate to other languages very well, but it's a great learning tool.

On the other hand, if you're willing to read and research a little more, find a C compiler and do everything in Notepad. Once you understand how the process works and your projects grow, find an IDE that suits your tastes.

One final note: I find that researching the history of the language I'm working with helps me understand a little bit about its design philosophy and what its capabilities are. Wikipedia is your friend.

Good luck!

Occasionally plays sober

Herzog Wolfhammer
Sigma Special Tactics Group
#24 - 2012-04-04 00:13:42 UTC
Merin Ryskin wrote:
Herzog Wolfhammer wrote:
Beginners should not go straight to an IDE. The small simpler programs for a beginner don't require it, and at that stage learning the ins and out of the IDE get in the way of learning the language.


So don't learn all the details of the IDE right away. "Create new c/java/whatever file" and "compile and run" is a total of two buttons. I bet you'll spend just as much time looking up what the command line syntax for your compiler is, and way more time if you have to install an entire new operating system like some people are suggesting.

Even very basic things like syntax highlighting, visual pointers on compiler errors, etc are way better than doing it with a command line, and even a very basic understanding of how to use breakpoints/watch lists/etc makes debugging a program much easier. The only reason not to take advantage of those features is if you're one of those idiots who thinks that you aren't a "real" programmer unless you've had to suffer x/y/z pointless difficulties.



In my experience, programmers who skip the simple basics are heading for a world a difficulty in their career.

Take command line compilers for example. Visual Studio is using one. It puts a big string together, and executes it. My boss says that the IDE is "for housewives" where compilation is concerned but he's an old school nerd. There are some things you have to do to go in there and actually edit that command line. It's rare, and I have only had to do it a couple of times in a year, but had I never seen one before it would take a long time to figure out.

Bring back DEEEEP Space!

Herzog Wolfhammer
Sigma Special Tactics Group
#25 - 2012-04-04 00:15:36 UTC  |  Edited by: Herzog Wolfhammer
Kattshiro wrote:
**** that **** use netbeans, or eclipse. VIM or emacs or other stuff is out dated and not needed. Dont go buy VS or a super frame work (Even though they are awesome...really) but a bunch of people want you to suffer like they did for no good reason. It wont make you a better programmer that's just haughty nerd elitism. (Reason why you'll spend less time figuring out stupid errors like misspelling or ; placement, and focus on the important aspects)



You can get VS Express for Free last time I checked and they work pretty good.

Also, Netbeans and Eclipse are free and they are not just for Java! They have plugins that not only let you use other languages, but other platforms too. For example my Netbeans installation has a plugin for programming Android apps.


Further note: this being a game forum, a lot of the stuff for XNA (XBox) is free as is also the Direct X. I wrote a .NET program once using a model of a Tie Interceptor I found on the web - and then I made it launch missiles, but every time I demo it (for other reasons not having anything to do with graphics or games, it's just a test platform) I hear "missiles? They launch missiles?"

The missile itself is a model of an AIM-120 I also found on the web and I programming it do self destruct after it misses the target (but I cannot do explosions - that takes more skill I lack) but best of all, my quaternion camera, the sort that Eve Uses (search the XNA developers forums I posted a copy of the code there) can be set to follow the missiles, something that I wish this game had.


I would like to point out that Graphics programming and actual coding for games are TWO ENTIRELY DIFFERENT worlds!!!!1!! Blessed and quite endowed with skills are those who can do (and mentally handle) both. Every time I use a 3D model, I use a free one from the internet which you can find in various formats. Often times when looking at gigs that involve graphics, there is a demand for people who know how to use the major 3D modelling programs and that should be treated like an entirely different career field. But ANY programmer can code behavior or AI into a model so long as you know what to tell the rendering engine.

If anybody needs to see what an EvE-style Quaternion camera looks like in code let me know and I will see if the XNA forums still have it around.

Bring back DEEEEP Space!

Caleidascope
Republic Military School
Minmatar Republic
#26 - 2012-04-04 01:35:30 UTC  |  Edited by: Caleidascope
Another IDE that has not been mentioned is Open Watcome (free). I used it when I took microprocessors class (we were dealing with intel, not motorolla) for C language, but it also does C++ and Fortran

For C++ I used another IDE, Xcode by Apple (free), but that was a while back, I needed to do C++ and my lappy was iBook G3 so Xcode let me do C++ on it. Probably better off to use Visual Studio Express or something else mentioned if you are on Windows machine.

Life is short and dinner time is chancy

Eat dessert first!

Tsadkiel
Aliastra
Gallente Federation
#27 - 2012-04-04 18:07:01 UTC
i second the netbeans comment. love that IDE
Previous page12