Granted ESR does know more then me and has experience in the field, but I doubt C and Linux will stopped being used anytime soon.An interesting article related to this by Eric S. Raymond: http://esr.ibiblio.org/?p=7711
Granted ESR does know more then me and has experience in the field, but I doubt C and Linux will stopped being used anytime soon.An interesting article related to this by Eric S. Raymond: http://esr.ibiblio.org/?p=7711
So I should just continue learn C then? I'm thinking that if I can get the really hard stuff out of the way first then everything else will become much easier.C is the mother of all modern programming languages, most languages in use today are influenced by it in someway or another.
It's not going to die, just less people will use it at high level.
System level code are still written in C, however.
So what more commonly used for application programming, C++?There is nothing wrong about keep learning C. You will learn a lot and benefit from it.
Just keep in mind that unless you will write code at system level, you really don't have much opportunity writing in plain C nowadays.
If you are into programming job, you just have to learn whatever is needed to get the job done.
So what more commonly used for application programming, C++?
Thanks, I'm just getting started with C. and I next plan on doing C++. After that I'm not sure, maybe look at Godot and other FOSS game engines and stuff.I'll say it again.
If you are not a professional programmer yet, or you are not 99% sure that you will become a professional programmer. And still want to learn a programming language. Maybe to "learn what programming is". Or maybe because you want to be able to use something to quickly build a small tool to solve a practical problem. Do some automation. Do some "dev-ops".
In that case, learn python.
Python is a proper tool for lots of small automation in computer science. You can write a shell-script. Or you could use perl (fvck perl). Or write a "real program" in a higher language (C, C++, Java, whatever). But nowadays the best solution would be to use python. I'm not alone in this. I work in networking (as a C programmer). All of our testers (and we got *lots* of testers, double the amount of programmers), all of our testers used to use TCL to write their test-scripts. They are now slowly moving to python. (Big change, considering some of these guys have been using TCL for 10-15 years).
Do I need to explain the benefits of python ?
- very widely used. you are not alone. lots of information on the web. lots of books. lots of places to ask for help.
- relatively easy to learn
- has support for OOP. But if you don't like OOP, you can totally ignore it
- lots of libraries available. lots.
- has better built-in datatypes than many other languages. no messing around with strings like in C.
- for small programs (say < 100k lines), for non-realtime stuff, interpreted python is fast enough.
- portable
- a lot easier to read than perl (fvck perl) of shell scripts
- useful for scripting automation. useful for writing small programs (and bigger ones later, if you get better at python).
- widely used in web-applications server-side. might become more popular than php.
- useful for screen-scaping. useful for dev-ops.
Personally I would never pick python for the stuff I do. I don't like the indentation (and no brackets). But I could live with that. I could not live with the lack of strict type-checking. That would kill me. I like C for what I do. But I must admit, I've been using some python program for my own test purposes. And I've made my own changes to that program. And I must say: I was pleasantly surprised by some of the features of python. (E.g. the fact you can return more than 2 values from a function).
So whm1974, keep learning C. It's fun. It'll make you understand programming better. Make sure that at some point you write code that uses pointers. Put your data in linked lists, trees, etc. Maybe doubly-linked lists, AVL-trees or other more complex data-structures. Stuff that you might normally use a library for. Pointers will make you truly understand how stuff works on computers.
But if you ever think that C is maybe not the most appropriate language for the stuff you want to automate, have a look at Python. Python is the future for most people in automation.
Great. C is a good programming language. All I wanted to say is: if the others in this thread scared you that C isn't useful anymore (which is false, imho), I recommend the alternative to be python. But if you wanna do C++ next, or look at other things besides languages, that's all fine to.Thanks, I'm just getting started with C. and I next plan on doing C++. After that I'm not sure, maybe look at Godot and other FOSS game engines and stuff.
I figured that the folks claiming that C and C++ dead and full of crap considering that both are widely used and just about anything and everything can be done with with them.Great. C is a good programming language. All I wanted to say is: if the others in this thread scared you that C isn't useful anymore (which is false, imho), I recommend the alternative to be python. But if you wanna do C++ next, or look at other things besides languages, that's all fine to.
Enjoy !
I figured that the folks claiming that C and C++ dead and full of crap considering that both are widely used and just about anything and everything can be done with with them.
I'm not sure why this myth keeps getting repeated. It is widely used, e.g.C is an awesome language to learn but there are reasons both technical and business as to why C isn't used that widely anymore.
I'm not sure why this myth keeps getting repeated. It is widely used, e.g.
I've been watching multiple sources like this for years, and C consistently ranks in the top five most of the time. For the last three years it actually seems to be trending upward, usually from 4-5 to 2-3.
So what is more typical for business use, C++, Java?The above survey is for IEEE Spectrum readers. And you know, IEEE members are engineers.
If a person is programming at system level (programming engineers), like BIOS, firmware, device/machinery controller, networking devices, drivers, where resources are limited (especially memory) then most likely he is going to use C, pretty much no other choice.
If a program is going to be used at business environment (programmers), no one is going to use C.
I'd say Java, C#, and PHP are the most common. Maybe followed by C++, Python, and Ruby.So what is more typical for business use, C++, Java?
I'd say Java, C#, and PHP are the most common. Maybe followed by C++, Python, and Ruby.
Maybe the point here is that once you learn one procedural language it's not hard to learn any other. Once you learn one object-oriented language it's not hard to learn any other. (And most object-oriented languages can behave procedurally.) Once you learn one standard object library it's not too hard to learn any other. The same might be true of functional languages (Standard ML, XSLT(?), F#), but after I learned one I tried hard to forget it.
Quite likely.I've seen C written by scientists and it's terrifying, even to me.
I'm not sure why this myth keeps getting repeated. It is widely used, e.g.
I've been watching multiple sources like this for years, and C consistently ranks in the top five most of the time. For the last three years it actually seems to be trending upward, usually from 4-5 to 2-3.
I thought most desktop applications were written in C++. I have no plans on doing Web applications anytime soon.I didnt see anyone say C and C++ are dead languages. They are just used for very specific purposes, not found within your typical business software developer job.
If you are making traffic lights and microwaves and cell phones and televisions, those are ALL C/C++.
But if you are making DESKTOP APPLICATIONS for a windows or linux environment, those are not C/C++ UNLESS you need high speed or high precision in the scientific/mathematics areas, like for example if you need software to compute a rocket orbit trajectory, or to compute cancer mutation rates or if you are writing Audio/Video (Drivers&Codecs).
if you want to build Web Applications for a Database application, or Xbox Games, or your own version of PhotoEditor, Spreadsheet, WordProcessor, Calculator, etc, you're not going to be using C/C++.
I thought most desktop applications were written in C++. I have no plans on doing Web applications anytime soon.