Hi all , i recently has read about some posts related to the above title , but i'm really confused about it,sadly :(
What is the real difference between programming and software engineering? Which one should i go for ? If i took software engineering , could i be a programmer as well ?
And , i heard that India is the top country in programming , is that true ? ^^
I hope i could find my answer over here , the information and advice given will be greatly appreciated , thx : )

Personally, I regard SE as being a superset skill of programming.

Programming in it's narrow sense is just turning detailed design into code.

SE in it's broadest sense covers the whole software development life cycle.

But, you will be able to find:
- SE courses which are little more than tarted up programming courses.
- Programming courses that aim to teach you something about SE as well.

> And , i heard that India is the top country in programming , is that true ?
Well it isn't true for all those schools that still use fossil Turbo C as the "reference" implementation for C.

But "top" implies a sort, which implies a relative test of some kind.
I bet India is top, if you go by numerical number of programmers.

Comments
Way to work in the Turbo C

Personally, I regard SE as being a superset skill of programming.

Programming in it's narrow sense is just turning detailed design into code.

SE in it's broadest sense covers the whole software development life cycle.

But, you will be able to find:
- SE courses which are little more than tarted up programming courses.
- Programming courses that aim to teach you something about SE as well.

> And , i heard that India is the top country in programming , is that true ?
Well it isn't true for all those schools that still use fossil Turbo C as the "reference" implementation for C.

But "top" implies a sort, which implies a relative test of some kind.
I bet India is top, if you go by numerical number of programmers.

So , is it means that software engineering will include programming ?
>Well it isn't true for all those schools that still use fossil Turbo C as the "reference" implementation for C.
I'm sory but i don't quite understand this sentence ( feeling sorry with my poor English lvl :( )

>Well it isn't true for all those schools that still use fossil Turbo C as the "reference" implementation for C.
I'm sory but i don't quite understand this sentence ( feeling sorry with my poor English lvl :( )

Salem meant that in India (almost) all the schools still use Turbo-C, which is horribly outdated and should not be used anymore. So that's the reason why so many c-programmers from India aren't "top" when they finish school: they learned an outdated and incorrect version of C.

So , is it means that software engineering will include programming ?

More than likely but like Salem said Software Engineering is going to teach programming as a means to an end and may teach important concepts independent of language. The overall picture will probably be more theoretical. That doesn't preclude you from taking more programming classes as electives or as part of a second major if that's allowed. You can always pick up more languages on your own or via an online course but it's more difficult to teach yourself SE because a lot of it is (more than likely) project driven. Check out the websites for programs that you are interested in they should tell you the requirements in excruciating detail.

Edited 6 Years Ago by jonsca: lern to right

Comments
Yes.

And now i have figured out something : there are many types of programming languages and we need them in order to create different types of software , am I right?? ( I hope I din't misunderstand it :D )

And i'm quite interested in gaming , can i do game programming if i go for SE ?

So what is the latest version of C? Will the colleges or universities show out the version of C they are using in the course syllabus or schedule?

Edited 3 Years Ago by happygeek: fixed formatting

Exactly i'm a student in india and i rather have to suffer almost daily learning C++ on TURBO C.. with no String implementations , NO Vectors and something that allows "void main()" i really hate it..

Comments
I feel your pain :(

And now i have figured out something : there are many types of programming languages and we need them in order to create different types of software , am I right?? ( I hope I din't misunderstand it :D )

And i'm quite interested in gaming , can i do game programming if i go for SE ?

You can do anything you like with SE. That's essentially the point.

To put it another way, a software engineer is a "code DESIGNER" not necessarily a "code WRITER". They should know how to write code so that they can be sure their designs are feasible, but that's not their primary function. Think of them as being similar to an architect. Architects DESIGN buildings then oversee the construction as it's being performed by a construction company. They know how to build buildings, but don't necessarily do the construction.

What you design is up to you, if it's a game, great, a new server O/S, also great. The possibilities are essentially endless.

Edited 6 Years Ago by Fbody: n/a

You can do anything you like with SE. That's essentially the point.

To put it another way, a software engineer is a "code DESIGNER" not necessarily a "code WRITER". They should know how to write code so that they can be sure their designs are feasible, but that's not their primary function. Think of them as being similar to an architect. Architects DESIGN buildings then oversee the construction as it's being performed by a construction company. They know how to build buildings, but don't necessarily do the construction.

What you design is up to you, if it's a game, great, a new server O/S, also great. The possibilities are essentially endless.

I like ur explanation using architect , it makes me more understand about SE , it seems like SE covers a wider knowledge than programming...

I like ur explanation using architect , it makes me more understand about SE , it seems like SE covers a wider knowledge than programming...

Correct, like Salem said:

Personally, I regard SE as being a superset skill of programming.
<snip>

> And i'm quite interested in gaming , can i do game programming if i go for SE ?
A good SE course is independent of programming languages and problem domains. Things like design for example would follow similar principles whether you were programming in COBOL for some insurance company, or programming fast graphics in C for a games company.

> So what is the latest version of C ?
This is the latest published standard - http://en.wikipedia.org/wiki/C99
Though not too many compilers' implement all of it yet.

The commonly available version is ANSI-C89 / ISO-C90 - http://en.wikipedia.org/wiki/C90_%28C_version%29#ANSI_C_and_ISO_C
Any decent compiler will usually have some indication of this.

> Will the colleges or universities show out the version of C they are using in the course syllabus or schedule?
Perhaps, or just ask them.

FWIW, not learning C first is possibly a good thing (I was taught using Pascal). C is very much in the "easy to learn, hard to master" category. It will be a lot easier in the long run if you've already got some "how to program" experience.

Computer programming is writing computer instructions for a computer to process. And that's it. It implies no specific discipline, no planning, etc.

Software Engineering is a vague term but implies more than mere computer programming. It implies that more disicplines are involved such as customer requirements analysis, systems analysis, coding design, risk assessment, test procedure specification, documentation, ethical and legal considerations, internationalisation, project management, and so on, many of which are needed on large software projects.

Finally find out more about SE and programming , thanks all for the information and advice . I'm glad i found this website , a great site for IT discussions ! ^^ Thanks !!!

This question has already been answered. Start a new discussion instead.