Question:
Best operating system to program on?
Craig W
2011-09-08 03:23:39 UTC
Hey guys! :)

For a long time now I have always wanted the ability to manipulate a computer and make my own software, and I am looking to someday hopefully go to Qantm College when I obtain my HSC and study Games Programming.

I have alot of knowledge about almost all aspects of computers, but I am stuck now! I need to know your opinions; What do you find to be the best operating system to program on (What is your favorite environment, easy to work with ect) and what Programming language you use?
I am currently self teaching myself the basics of C++ because Visual Basic got me into programming a few years ago but I only started to get the basics down and started making my own forms and little programs like log in tools ect, and I have done some research and it seems that C++ is the way to go?
I have downloaded tons and tons of tutorials and source code to begin learning the code myself and have picked most of it up pretty easily, but I am just wondering if it is the right programming language for me to learn? At first (Before I did my research) I thought C would have been the way to go, now I am unsure because in the Qantm Booklet they have sent me it says they focus on C++ Development? I know C++ is better for making very big applications, so I have gotten the impression anyway, but C has better control of memory and other aspects of the hardware?

I am also unsure of all the C followings, like, I don't know where some of the languages stand? Mostly, I don't know the difference between C and (I think it's Microsofts) C#, C++ and how they are all so different if they all originated from the C language?

I am currently using Linux Mandriva (I feel alot more at home when I use Mandriva, apposed to Ubuntu as I am not the biggest Linux user, I'm actually quite the noob in this environment)

If you could also tell me more languages that would be good to also have a basic understanding of (I was thinking of learning a little bit of Java and Flash CS5, as it is currently being taught at school so I thought I may as well listen and get the basics down) but I know that Flash and Java are more for the Rapid Development approach and are alot slower compared to C++ coding in terms of how it executes? This I am also not sure of if I am wrong please correct me :)

I read somewhere that Apple only supports C/C++ Development for there iPhones and iPads (And obviously iPods) and I would love to create little programs for these aswell, and I have gotten the impression that this is the only programming language you can use to develop on it? (Which is funny because for a long time I was under the impression that C++ was mainly development for Microsoft systems, I don't know why)

So if any of you could help me out I would appreciate it alot, thank you! :)
Four answers:
Rainmaker
2011-09-08 04:07:20 UTC
You rambled on a lot, I forgot what the question was.



I code on both Windows and Linux, if you stick to console-based programming, I think C is the most easily portable between them, in fact I have written a couple of small tools for myself where I didn't need to change a single line of code to compile on both.



When you get into GUI programming, everything changes. For Windows, I prefer MASM and/or Visual C++, the libraries come standard with every version of Windows, so your software should run on any 32-bit version with little or no modification.

Linux is a different story, you could consider X11 as the native GUI, but it's like another language to me. I am currently writing a program to translate my MASM/MFC resource files into GTK code (Glade is no longer an option for me).



You will hear many things like "You can get GTK/WxWidgets/Qt/Java libraries for Linux and Windows and use the same code". Sure this is true, but does the end-user have the run-times on their system? Do they want to install a whole other run-time library in order to use your program?

My PCLinuxOS has GTK, my Windows 98/XP have MFC and Java, there is nothing common between them.



For the Apple, I've not written code since System 6.0.1, it was with a M68000 cross-platform compiler (Amiga/Apple/Atari), it wasn't a big project but, if I remember correctly, I was quite pleased with myself.



Remember, object-oriented programming requires a state of mind, not a language.
Ella B
2011-09-09 08:47:26 UTC
I went to QANTM a couple of years back.



I know that programmers there studied C# and dark basic and they use Windows 7 now.



When i did the course in '08 they taught 2D animation to programming student, so a basic knowledge of ActionScript 3.0 will be good (this is Flash CS5 based.. so therefore this is a good animation platform to learn).



I didn't actually do the programming course, however i know that they in my course (which overlapped a number of programming courses) we did Illustrator, photoshop, 3DS Max (3d animation program) etc...



Anyways!! Hope you have fun at QANTM!!
samofcalifornia
2011-09-08 21:00:03 UTC
In addition to asking what language and what operating system, it is worth asking what IDE is good.



I think it depends on you what you need/want to do. If you want to develop for companies using Windows, then you need to learn Windows. Likewise for Unix/Linux.



The C language and the Unix operating system were developed together. Unix was originally developed in C. Then developers (primarily Bjarne Stroustrup) enhanced C to include classes and other things. C++ also has many standard classes that make C++ much more useful than C. There is no good reason to write new code in C unless an employer requires it.



Then Sun designed Java. It is like C++ but it uses garbage collection, which you will learn about. Java has a other differences from C++, many of which are improvements. I don't like garbage collection so I usggest learning C++ first so you know how C++ works with it's explicit destruction. One critical advantage of Java is that it is portable; it is designed so that it can execute the same program in many operating systems without re-compiling.



One big problem with Java is that it was proprietary to Sun. Sun did not make enough effort to make Java work in Windows so Microsoft made a better version of Java for Windows 95, which was their first 32-bit version of Windows. Sun did not like that; they did not like anyone else making a better Java. So Java sued Microsoft. Microsoft lost so they designed C# and .Net. The C# language and .Net (actually it is called CLI) are international standards and it is possible for other developers to make versions of them. Microsoft holds patents for them but they have made a legal commitment that they won't prevent other developers from making other versions of C# and the CLI. Like Java, C# uses garbage collection and is also designed to be portable to many sysems. There is an open-source version of .Net called Mono.



I suggest learning C++ first.
Nestor
2011-09-08 06:59:57 UTC
Windows, you can develop for different platforms and consoles from there and there are more graphic libraries for it, if you want to stick in that OS.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...