Hello all, I want to get into programming but haven't decided on a language yet. I learnt some very basic C++ about a year ago but I dont remember it anymore. Just wondering I cant find any colleges that do programming courses and I have heard that Python is almost as powerful as C++ but alot easier to learn. I can always learn C++ in the future once I grasp the aspects of OOP and programming principles. My goal is to learn a programming language that would be used to create firewalls and security applications ect im not into web or game programming at all. My question is if I learn python are there many jobs out there that want python programmers or would they prefer C++ or C programmers?
I live in london so anyone that knows any colleges that teach programming would be great. Thanks to anyone that can help.
What language to learn
Started by uperkurk, Nov 06 2009 07:01 PM
18 replies to this topic
#1
Posted 06 November 2009 - 07:01 PM
|
|
|
#2
Posted 06 November 2009 - 07:07 PM
That depends on what field you are going into... There is a great debate going on about this in the thread called, "Dillema... sort of." You'll find it in this board. C/C++ are good for networking, but maybe JAVA is better. This sounds more like JCoder's field. I don't think Python is suited for that task, but someone correct me if I'm wrong.
#3
Posted 06 November 2009 - 11:32 PM
honestly, it doesn't matter that much. professionally you'll be working with crap you never touched all the time. "C-style" languages have the benefit of being widely understood by most programmers so it's a kind of common ground for explanations, etc. don't listen to sweeping generalizations of the form "language X can do everything language Y can do, but with no effort on your part!" all of these technologies have their place, and they all have a lot in common. one of the real trends is adding abstraction to existing stuff. so you spend less time on algorithms regarding making a list, on more on what you do with that list, etc. however, for starters, you really should be concerned about how to make a list or other low-level simple tasks to learn.
i spent college doing pretty much everything in c++, with classes in java and assembly also. now i'm a .NET developer...a little bit of a shift, but not that difficult.
but if i HAVE to pick......................go with C(++).
good luck.
i spent college doing pretty much everything in c++, with classes in java and assembly also. now i'm a .NET developer...a little bit of a shift, but not that difficult.
but if i HAVE to pick......................go with C(++).
good luck.
#4
Posted 07 November 2009 - 04:57 AM
If your goal is to create firewalls - go with C. Pure C. All operating systems have API's for creating things like drivers in C. Firewall must be tightly integrated with the OS network layer, it is usually deployed as a kernel module / driver. In Windows such code is written in C. In Linux, also in C. You have no choice here - the only language you can choose is C (it is possible to pick up C++, but it is asking oneself for problems - C++ code won't run in kernelland in most OSes, and even if so, it will be seriously limited - e.g. no new() allowed, no exceptions allowed etc.).
However, the user interface for a firewall can be written in anything you wish. Python Java or C# all seem good choices.
If you are interested in writing simply secure and stable network applications in userland (not firewalls but e.g. http proxies), the best choice IMHO is any fast managed language. C# or Java are good choices - very high performance and good security control.
However, the user interface for a firewall can be written in anything you wish. Python Java or C# all seem good choices.
If you are interested in writing simply secure and stable network applications in userland (not firewalls but e.g. http proxies), the best choice IMHO is any fast managed language. C# or Java are good choices - very high performance and good security control.
#5
Posted 07 November 2009 - 05:20 AM
Python is used a lot by network administrators. C/C++ are used a lot for systems programming. Python would work well for the interface, but the firewall is going to be pretty low-level code.
#6
Posted 07 November 2009 - 06:44 AM
Thanks for the replys, so low level code what do you mean by this? Not just firewalls but in general security applications that protect servers abd networks ect. So you recommend C?
#7
Posted 07 November 2009 - 07:52 AM
uperkurk said:
Thanks for the replys, so low level code what do you mean by this? Not just firewalls but in general security applications that protect servers abd networks ect. So you recommend C?
What do you mean by general security applications? Intrusion Detection Systems? Honeypots? If so, than C maybe useful only for low-level traffic observation. The data analysis in IDS is a task better to be done in something high-level (and I treat C++ as middle-level). You can also write a honeypot in Java or Python.
So it would be best to use C for low-level stuff like intercepting packets, and high-level language for the AI / user interfaces. I would use 5% C + 95% Java (great performance, nice to program in and runs averywhere).
#8
Posted 07 November 2009 - 08:14 AM
I thought Java was for game programming and graphics? Basically my ideal role would be someone who writes programs that helps protect intrusions into firewalls ect. I'm just trying to get an idea of what languages are most sought after when it comes to firewalls and stuff.
#9
Posted 07 November 2009 - 09:33 AM
You will probably be working with C programming. The reason for this is that firewalls usually work with the operating system kernel pretty closely.
Root Beer == System Administrator's Beer
Download the new operating system programming kit! (some assembly required)
Download the new operating system programming kit! (some assembly required)
#10
Posted 07 November 2009 - 10:46 AM
I highly doubt that Python will get you as far as C/C++, considering that most large scale applications, including the Linux kernel and the Windows operating system are written in C/C++. Python is less powerful but easier to read and write, so C/C++ programmers are harder to find and therefore probably have a better chance of finding jobs. As to how powerful Python really is, I don't know. It's not really my area of expertise. But C/C++ are the big thing among professional programmers these days.
#11
Posted 07 November 2009 - 11:40 AM
Thanks, I think ill go with C.
#12
Posted 07 November 2009 - 01:15 PM
uperkurk said:
Thanks, I think ill go with C.
I think that is a good choice. I think there are a lot of languages out there with similarities to C, so once you get a strong background in C, it can help you out if or when you try to learn other things :)
Good luck!


Sign In
Create Account

Back to top









