programming jobs

Pages: 123
Hey everyone,

quick question. Is it possible to get a programming job without having a degree? Also, how many languages do you usually learn for programming? I thought C++ was the only one used for programming and my friend mentioned knowing php and c#.

Thanks!
Steven
i would worry less about knowing any specific programming language and worry more about knowing how to program in general. if you have a good understanding of OOP, but you've only ever implemented it in C++, it wouldn't be that hard to switch over to, say, java. being familiar with any specific syntax isn't going to be particularly helpful if you don't understand polymorphism, etc.

there's certainly more than 3 programming languages used in the professional world, though
Last edited on
i would worry less about knowing any specific programming language and worry more about knowing how to program in general.


Well, that's a chicken-egg comment.

In order to learn how to program in general, you have to start by learning how to program well in a specific language!

The point is, start by picking a language and try to learn it well - well enough to program some simple projects that you may be interested in. Later, as you learn how to program in other languages, you will begin to notice similarities (and differences) and begin to understand programming in general. If you do this long enough, you may not care too much which language you use, as long as it gets the job done.

My suggestion to you is, don't worry so much about "getting a programming job" or "how many languages do you need to know".

Rather, learn how to program well. Well enough that if someone asks you to write a program and doesn't limit you to which language, you can do it. That being said, whatever language you choose to learn, you need to understand basics like FILE I/O, GUI or some kind of user-interface (eg command-line), logic, data structures, algorithms, unit-testing. Programming is a discipline. It's also a craft that's stuck between art and science. Learn how to do it well and the jobs will come.
Last edited on
In order to learn how to program in general, you have to start by learning how to program well in a specific language!


sure, but what i'm getting at is that what languages you know is far less important than most beginners make it out to be. that said, C++ is a pretty good language to learn on
C++ is probably the best choice to choose from. After all who doesn't like Halo or Black Ops? It's a newer language is updated every year with more functions and capabilities. But C++ and Java are really similar. The main difference between the two is that C++ is compiled and converted to binary before you run it. Java is compiled and converted to binary at the time it is run.
Let me rephrase that. Before you can run a C++ program, it has to be compiled and converted first.
ohh.. well my goal is to eventually make small (or even big) applications for personal use (or maybe even commercially). I'm a 3D artist so I use several apps and can think of many ways that some applications would make my life easier. I heard C++ is a very structured and strict language so I thought i'd go for that. I'm just not completely sure how things work. C++ is the language and Qt (for example) is a GUI language that puts the buttons and such onto your application? Or is C++ able to make buttons and interfaces etc?

I guess I'm just wondering how the process would usually go. From coding to actually making the interface.
Thanks in advance!
C++ is probably the best choice to choose from.


Well, I would say it depends on the person. C++ is a non-trivial language that takes many years to become proficient in and is extremely difficult to master. Sometimes, it takes many lines just to make C++ do something useful. That being said, generally it lets you have sufficient control of the hardware, if you don't step in some doo-doo (often caused by features that are non-orthogonal: C++ is not just OOP - it's multi-paradigm and sometimes its multitude of features step on each others toes).

I have been programming for over 25 years and I currently use C++ more than any other language, but I see lots of really good stuff in newer languages, too. Recent ones I like are Ruby and Scala, but there are many, many more.

Rather than get into language wars, this is my suggestion.

Try C++ for a while and see if you can learn enough to make it do something useful. If you get frustrated, try some other language and then come back to C++. Eventually, you should become good enough to do programming in a specific language.
Last edited on
<For kfmfe04> I'm making a program for our church. I need it to save what the user types in to a text file. The problem is that it's .NET and not console. Help?
really? You couldn't PM Drue?
He doesn't take PM's. I looked.
hahaha probably should've started a new thread then :P
I did that after the fact in the Windows programming section, but he said he's coded for over 25 years.
So what is the order of writing an application? Does C++ actually write the GUI as well? or is that put together in visual studio or some other program?
@stevenpalomino: C++ writes nothing. You write C++ code which may call GUI libraries. Visual Studio is an IDE (integrated development environment). You may choose to use this or not. I develop on OSX and Linux boxes so I'm quite content using just vim/CMake/gcc as my "IDE". Visual Studio will help you compile and link your C++ program so you can execute it.

@Drue: well, for something that simple, you could actually use perl or Ruby. C++ is kind of overkill - using .Net definitely is. Any reason you need .Net?
@stevenpalomino: C++ is a language. Qt is a C++ widget library. Using standard C++, you will not be able to create a GUI with buttons and windows, etc... ...but using C++ with Qt, you will be able to do that. You write C++ code which calls Qt functions to draw windows, buttons, menus, etc... Your C++ code has to be compiled and then linked with the Qt library to produce an executable. You run this executable as your program.
@kfmfe04 VIM? Is it the Carbon or Cocoa?
I wanted to give it a try ;) I'm also on a mac and don't really like xcode and I've been using netbeans which is a bit friendlier.
So you code in vim and then compile in CMake?
@stevenpalomino - vim is old school - it's based on vi written by Bill Joy which has been around since 1976. I use the command-line version of vim, but you can use MacVim if you like. Netbeans is slick but very resource intensive on OSX (sometimes GUI gets bogged down by a lot of background processing). So I code in vim and use CMake to make my Makefiles which helps me compile and link. I use CMake because I build on OSX and Ubuntu boxes. I have a build directory where I do something like:

cmake .. && make check

which will build my application and run my unit-tests to ensure that I haven't broken anything. I do other things like:

cmake .. && make drdcheck

to make sure that I don't have race conditions in my multi-threaded app. Drd is a valgrind program. Valgrind is useful for memory checks, etc...
Last edited on
@kfmfe04 Sorry didn't see your C++/Qt explanation. Is Qt one of the more popular widget libraries out there? I thought it was relatively new? What else is the standard out there? as far as I know... Qt is cross-platform compatible right?
Yes Qt is a good choice: been around for a while, is a standard, and cross-platform.

wxWidgets is a decent alternative, also a good choice for the same reasons.

Look here:

http://wiki.wxwidgets.org/WxWidgets_Compared_To_Other_Toolkits

I forget which one (maybe wxWidgets), but one of them creates OS-native-looking GUIs if you want your app to look for like an OSX app.

Ultimate++ is excellent, but doesn't work on OSX, unfortunately.
Pages: 123