# what is systems programming?



## geekgod (Aug 18, 2004)

hi, i am an absolute newbie, as is evident from my first post.
what is systems programming? if i have no idea about programming, how should i proceed if i want to be an expert ? i dont want any course name. i want to learn myself. and what is the systems programming and software development?
by the way, people do tell me i am not dull


----------



## technomodel (Aug 18, 2004)

welcome to the foru m8.
now to get to ur post, if u want to have any future with progaramming, start with learning a good language. i suggest c, as it  is the father of all languages, and if u master it, u can shift to any later. the definitive book is ritchie kerninghan's 'C Programmig Language'. another option is gottfried


----------



## GNUrag (Aug 18, 2004)

Hi,

System programming: Refers to programming various components of the target operating system. like say, writing daemons, device drivers... these generally dont have any great commercial value and must be integrated with the operating system before distributng... they may also be programmed as firmware and come along with your hardware.

Application programming: Refers to programming various productivity packages/ERP/ office suites/ media players... these are general purpose software applications that can be purchased off-the-shelf... they generally target a particular segment of users and may have a distribution channel for sales...


----------



## geekgod (Aug 18, 2004)

is it possible for the two fields to overlap? or are they absolutely different?


----------



## geekgod (Aug 18, 2004)

i mean, is it possible for one to master both? for example, one who develops the linux kernel, can he also take part in the development of softwares for the linux platform, like openoffice?(i heard something like that somewhere).


----------



## GNUrag (Aug 18, 2004)

Generally application development is carried by commercial companies like infy/wipro and may involve VC++/Borland and other tools where you have to build GUIs/databases or other things depending on the project/tender your company has got...

Systems development is generally carried by OS Vendors/Research institutes/Hardware and IC making companies... with systems development you'll have to get familiar with C/Assembly/ microprocessor programming/vlsi/ and other things... System programming is a very wide area and its roots can be found deep in IC/hardware designing...


----------



## ujjwal (Aug 18, 2004)

That is very well explained GNURag. Thanks


----------



## geekgod (Aug 18, 2004)

does it mean that to be a system programmer(and not self-proclaimed, but accepted by people  ) i need to be a student of either compu sc or electronics. what if i am, lets say a student of mechanical engineering?
i am asking this question because i see that getting jobs in infy/wipro/tcs is the most common among the students of departments other than the two i mentioned. does it mean that software development is much easier, and probably less interesting?


----------



## busyanuj (Aug 18, 2004)

geekgod said:
			
		

> does it mean that to be a system programmer(and not self-proclaimed, but accepted by people  ) i need to be a student of either compu sc or electronics. what if i am, lets say a student of mechanical engineering?
> i am asking this question because i see that getting jobs in infy/wipro/tcs is the most common among the students of departments other than the two i mentioned. does it mean that software development is much easier, and probably less interesting?



being an electronics or computers engineer definitely helps if you're going for syster programming, as you will get to learn Digital circuits and other basic concepts.
but, you can also learn these concepts on your own.


Software programming is partly considered monotonous.


----------



## pravin4u (Aug 18, 2004)

thanks geekgod i was always confused by the same things thanx for starting this thread, that has cleared my doubts


----------



## geekgod (Aug 18, 2004)

then how do i start being a systems programmer? what should be my line of action and weapons?


----------



## walking-techie (Aug 18, 2004)

A very outdated concept that only comp sc and it guys get jobs in INFotech companies, i know many guys from mechanical,elctronics and tele eng..holding posts as software developers.

Also, when infotech company recruits u it does check ur backgrnd, but it also checks ur fundamental concepts

For eg in an interview they will ask ur proficiency and ease with a computer subject ( suppose u say C language), when u reply they will ask questions on this subject( mght ask u a program, a defination, a syntax, use of a particual statement , etc...) if they r satisfied abt ur knowledge they will definately consider u for a post ( u mght hav to go thru training)

Also, be4 gettin into this field u hav to recognize ur skills, u may sya u will self-learn thngs, but u hav to sure wat u want to do 1st and then learn acc..


----------



## GNUrag (Aug 19, 2004)

geekgod said:
			
		

> does it mean that to be a system programmer(and not self-proclaimed, but accepted by people  ) i need to be a student of either compu sc or electronics. what if i am, lets say a student of mechanical engineering?


Well, its not a thumb rule... but its better if you have a formal education in Electronics engineering if you want to go into very hardcore systems programming... System programming can be of many types... from kernel modules... to device drivers for a particular chipset... to embedded operating system... the scope is very vast... 

As an electronics engineer you'd be familier with various subjects in following order... Transistors/Diodes  >>  Logic Gates (and/or/xor/nand)  >>  microprocessor/microcontroller programming in assembly using instruction sets of that particular chip...  >>  writing drivers/kernel modules that follow the instruction sets of that chip....

A formal education in electronics/computer engg will definately give you an upper hand... and that's the reason why engineers from any other branch only take up * Software Development * and Systems programming is more popular and more suited to Electronics/Instrumentation engineer.....


----------



## only_junk (Aug 19, 2004)

for becoming a system programmer u need to know hardware infrastructure with a controlling lang(C i can suggeest still very nice)


----------

