• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Which programming environment?

navigator

n00b
Joined
Jun 14, 2004
Messages
4
I have been using and building computers for many years, and I am now ready to take the plunge into the programming world. I would like recommendations on which environment to start with. If you could please include your reasons why you recommend one. I realize that the Windows environment is the most popular, but all recommendations are greatly appreciated. I need a good solid language to start with, and have not decided on what types of applications I will be building. I thank you in advance for your replies!!!!! :)
 
Programming doesn't start with environment/platform/etc but with programming concepts. You're not going to jump straight into Windows drivers, so don't think along those lines. Python is a nice C-style language that won't punish a beginner the way C can. Check activestate.com for a Windows build of Python. You can also search this forum for the many past threads on beginning Python and code editors / development environments (be sure to have it show old threads, not just the past week or whatever the default setting is).
 
I'll second that. Pick a Linux distribution (Gentoo is pretty n00b-friendly), then think of a project that would interest you (something simple, but something you can expand upon), then pick a language that suits that project, then get coding!

I'm not a fan of Python (it actually makes my brain hurt), but I hear it is pretty easy to pick up for people who aren't already used to C-like syntax. I'm a fan of Java, since I've been programming in it for seven or eight years now. I find Python's documentation to be severely lacking, and I know there are tons of very well-written, well-organized resources (tutorials, references, etc.) out there for Java.
 
think about what kind of stuff you want to program, then you can focus on type of programming required, which will lead you to the best language for the job.

for example, i really liked the idea of web scripting, it's not full blown programming like the C++, Java crowd uses, but for what i wanted to do, a full-blown industrial strength language was not required. This led me to dabble with ASP, which i really liked, until i decided to dabble with PHP, which i really love.

you know you've found your calling when you'd rather stay home solving a coding challenge than going out with your friends :)
 
Your operating system doesnt make much of a difference. They all have text editors and regardless of the os you use you will need to get/learn a compiler. Personally I use editpad lite as a text editor and msvs compiler for c/c++. I also use cygwin to compile any other language, and masm for assembly, but you dont want to do assembly. =P

Pick a language you want to learn first, then learn it. =)
 
lomn75 said:
Programming doesn't start with environment/platform/etc but with programming concepts. You're not going to jump straight into Windows drivers, so don't think along those lines. Python is a nice C-style language that won't punish a beginner the way C can. Check activestate.com for a Windows build of Python. You can also search this forum for the many past threads on beginning Python and code editors / development environments (be sure to have it show old threads, not just the past week or whatever the default setting is).

Python... C style syntax... what?! When was the last time you looked at some Python code?
 
inotocracy said:
Python... C style syntax... what?! When was the last time you looked at some Python code?
It's definitely not considered a C-like language. He must have meant "C-style" in the sense that it's fairly powerful, has a lot of libraries available, and is relatively straightforward (compared to something like Perl, where there are sorts of little syntactical tricks you can use). That said, I still think Python's syntax is ridiculously obtuse, and its libraries are inexcusably poorly documented (in terms of organization and usability). I consider myself a decent programmer and adept at picking up new languages; I've never had as much trouble getting simple things done as I have with Python.

But there are plenty of people out there who love it, of course. Maybe it's just me. :)
 
Odd, Python actually has a builtin documentation library thats pretty robust. Not to mention the online doc system which seems well documented. Although the tutorials are lacking, the module index is quite large (http://docs.python.org/modindex.html) and anytime I run into a problem I can always solve it by taking a quick peak at it.
 
i don't believe so, i've seen lots of people insist on that and all it usually does is cause a shitload of fumbling around before you start to get things working.

doh said:
Unix. You will learn good habits if you don't use an IDE.
 
Yeah, I don't dispute that the documentation is there and quite complete. It was just not usable to me. I've done plenty of Python programming at this point, and I can find what I need to by now. But when I was just getting into it, it was a horrible experience. In particular, I got insanely frustrated with their datetime package. It was late at night, though, and I wasn't necessarily at my sharpest. I would also point out that in my experience, finding help on Python topics via Google was far harder than for any other language I've dealt with.

Put it this way: It's great if you already know what you need, you just can't remember the name or signature or whatever. Any language's docs can match that bare minimum.
 
HorsePunchKid said:
I'll second that. Pick a Linux distribution (Gentoo is pretty n00b-friendly).

Gentoo is about as n00b friendly as a build your own car kit.

If you want ot just have a linux environment ot program in, I would look into just downloading a livecd that you could boot into with all your tools and save your files on an ftp.
 
Hm. Interesting analogy. It's like a build your own car kit, where you can get the kit pre-built if you want (LiveCDs), can add any accessories you want just by asking for it (portage), and, well... I'm not going to try to further the analogy. But Gentoo has by far the best documentation of any kind of software I've ever used, and the forums will solve quickly any problem that's not covered by the documentation.
 
doh said:
Unix. You will learn good habits if you don't use an IDE.

How do you figure?

In my experience using an IDE has been easier and more fun. It's cool using the command line because then you can feel all l33t and go around saying "yeah I compile my programs from the command line..." But in my opinion it's just more productive being able to press a button on the toolbar to do it for you (and if there are some strange compiler flags you just have to call then you can do so in the options). Then if everything went well you can just press the "Execute" button.
 
I_Need_Money said:
How do you figure?

In my experience using an IDE has been easier and more fun. It's cool using the command line because then you can feel all l33t and go around saying "yeah I compile my programs from the command line..." But in my opinion it's just more productive being able to press a button on the toolbar to do it for you (and if there are some strange compiler flags you just have to call then you can do so in the options). Then if everything went well you can just press the "Execute" button.
To each his or her own. I happen to agree with doh, but it's hard to prove an opinion right or wrong.

In any case, if your test cycle is more complicated than just hitting two buttons, your process isn't going to work anyway. Is there a button on your toolbar for "zip this set of files up and deploy it into my Firefox extensions directory"? How about one for "download the website logs, run the log analyzer, and upload the report to another web server"? I learned to use makefiles and Ant for compilation tasks, but they're useful for automating many things beyond that. If I'd grown up using IDEs, maybe I would never have known of them.

It's hard to say which path is better, though. It's not like any of us can start over from scratch and try learning a different way in order to compare. Regardless, nobody's ever complained about my productivity (even when I spend too much time quibbling on [H]!), so I feel pretty comfortable about my development process :).
 
Back
Top