C language [A monster to face] help!!!

Learning Java is not confusing because you know C, its confusing if you directly start with java. Simply type a list of technologies which are related to java, the number of pages grows in no time. Give that list to a beginner and see he'll be confused or not. Also my point is about getting the basics right. In my around 3 years of experience, I have seen many guys who know Servelts, JSP, JSF and many more advanced technologies, but don't know when to use break, and when to use continue. This is because it seems they had no time to learn the basics... They were all easily attracted by the GUI provided by swing and web sites done with JSF. Now thats cool... I am not at all against Java or any other modern language. But all I believe is keep things simple at the beginning. Knowing basics of the language that first made programmers life easy, will never ever hurt...
 
deathvirus_me said:
No one will let u develop applications in C, coz the the amount of freedom in C is just too much. Heck even java uses low level C :) .. but you will not find any industry level solution in basic C, unless its some text simulation ...
err excuse me... My 12000 employee company does 70% of its code in C, 20% in cpp and 10% in assembly..
 
deathvirus_me said:
How dont understand how C forms the basic of learning current gen. language .. I dont even see it as a requirement until i wish to be stuck on C.

Also the reason Java is confusing if the very fact that u're basics are from C .. There are so many types of Java ?? There is only one Java, JEE and JME are specifications. The only time i required my C knowledge (almost after 9 years) was when i was trying out JNI .. I too started from C coz at that time no one had enough knowledge about other languages. Now that i know a few more, i'd say C used to be the basics, now it only makes u "not" understand modern day languages; unless u think the knowledge about variables makes it easier ...

No one will let u develop applications in C, coz the the amount of freedom in C is just too much. Heck even java uses low level C :) ... but you will not find any industry level solution in basic C, unless its some text simulation ...
Learning C lets you adapt to every else quickly, its because you get a grip on all the essential concepts about programming as well as the underlying system. Other languages may have facilities that automate one or more of the things. But that means that if you learn a language like Java and have to move to another platform that doesn't have all those facilities, then there will be a steeper learning curve to understand those concepts. I didn't have a even a bit of learning curve when I had to program in Java or C# or for that matter any other Programming/scripting language that I used because my fundamentals were in C/C++. On the other hand, I have seen people who started with Java, VB or C# struggle when they have to program in a different language. I have also seen many people loose their jobs because they are Java or C# programmers and could not adapt to any other platform/language quickly enough when required. So I would say start with C if you want to be programmer that can adapt to any platform and language and start of Java or C# if you don't want to adapt to any other language.

A majority of the software is still written in C/C++ and will be for some time to come. Only Software Services sector use languages like VB, C# and Java for their custom built solutions because of their easier to learn and faster prototyping facilities that come at a cost one of which may be performance. In our company, all or desktop products are written in C/C++ and inline assembly. Java/C# would simply not cut it for applications of such nature or scale. For our enterprise products we do use Java and C#, but thats mostly limited to areas where performance can be traded off for faster implementations and quick building of GUI's. For any server side components where performance is a key, we still use Native C/C++.

So No, the only thing that matters is not delivery. There are many other attributes of software that matter and you would have to select programming language based on your priorities. You cannot learn just Java and always use it in every situation. Thats why is it important when you are at the learning phase to start with a language which is a super set of almost everything else so you can get all the fundamentals and then you would be quickly able to adapt to any other language as well.

I know a lot of companies (especially in the IT services ) may prefer to recruit coders over programmers because coders are a bit like factory workers who work within their domain only and can be paid considerably less, but then there are many companies (even IT services ones at some level or the other) who would rather have programmers who can conceptualize systems above the level of a implementation langauge and then implement it in what ever programming language is best/or required of them.
 
shantanugoel said:
err excuse me... My 12000 employee company does 70% of its code in C, 20% in cpp and 10% in assembly..
Man, for few seconds I thought you are the owner of the said company. :)
 
C, C++, Java, C# all are good programming languages and help you solve different kinds of problems. We just use the right tool for the right job. It would be unfair to compare these languages, may be c# vs java would be okay, java vs c will not be.
Talking about learning curve, I wouldn't talk about others, but just my own experience. I found it really hard to understand lisp after learning c/c++. I am almost sure the reverse case would also be difficult.(Learning one imperative language if you already know one, might not be such a big issue). I just learnt far more from learning lisp than I learnt from C/C++. SICP was an eye opener for me. Others experiences might be different.
 
Fine u win .. write a forum like one of Techenclave in C coz zomg C is awesome. .. then make a solution based on it so that we all can use it :) to make our own forums :) ...

You guys seem to categorize Java/C# as something related to more of GUI and presentation .. And you seem to think that C performs so much better than any other language in the market .. And some people seem to think Java/C# or modern day languages are not secure ?? @_@ ...

Solutions is/will be/always was the only thing that matters .. concept are nothing without result. .. if only the world relied on concept u'd not be having anything to use .. how many times wud u pass ur exam by saying u know the best logical answe and submitting a blank paper ?? And whats wrong in applying a formula when i know one, but u prefer to it step by step ???? Hmmm thats sheer brilliance ...

x64 notepad ... did u even understand what i meant ??

And whats wrong with learning Assembly ?? or COBOL ?? the fun in coding in legacy systems is so much you cant imagine.. who needs anything better !@!!@! i got cpu instruction set .. the best performance, the simplest logic etc. etc ..

I'd like to see a company pay me a good price for my knowledge in C only. I can bet my arse off that my delivering skills in better platforms will pay much more. I currently work for an "acquirer processor" whose entire system was running on .NET + MF, now upgrading to Java + SQL + MF .. i dont know why these brilliant solution providers decided to go with Java over C @_@ .. And they are the largest in their sector in USA ... omg .. are they that stupidz ???

I'd like to see C guru's provide quick and feature rich solutions to current day problems ... GUI is not important .. Microsoft shud go with Windows 3.1 look with Windows 8 instead ... logic is all that matters .. we should remove features like abstraction, encapsulation or anything such and go back to basic logic of adding subtracting etc. etc. ... we shud still develop 16 bit apps which dont run in 64 bit environment etc. etc ...

Also @ people who think u cannot start with Java : U dont start at JSP and Servlets when u learn Java .. there are variables and class and methods like any other language .. only when you are through with writing "hello worlds" and "fibonacci series" then u shud decide to move on with more serious topics.. i dont remember much but is writing "hello world" is very different in Java than C ?? Many people get certifications by reading pathetic dumps so that doesn't make them great coders .. And Java can't create coders ?? Haha u haven't met the right people .. 90% of the people who know Java dont even know to code properly in Java, so please dont include these things in this discussion ...

@ People who think Java is not secure : u have no idea about how Java works ... if it was not "more secure", industries wudnt be providing solutions based on it.

@ VS is development suite/platform .. VS collectively refers to VC,VB,ASP,ADO etc. etc. ... i really dont have fun writing all of them individually ..

Also i'd like to know, every C coder has the logic very clear right ??

--- Updated Post - Automerged ---

adi_vastava said:
use assemblly for what? Kindly mention. To develop a product, really? we do use it occasionally and our code is full of inline assembly but the idea always is to hit the problem with a language which at first is able to solve it and than will be able to deliver it as fast as possible. do you think assemblly will be able to do it.

>>Tell me, which platform would u prefer to write me a x64 notepad application ?? Wud u do it in pure C ??

"your question itself is wrong (which platfor for X64)", X64 is a platform so when you are bulding your code for X64, you already told your compiler/linker what binary format you are expecting.isn't it? Now will I code it in C, NO but NEITHER in Java or C#; as notepad is an application which shipped with OS itself and should have no dependency which all C# and Java applications have (JVM and .net ). My vote is for C++/win32 SDK

Thats very much compatible on Linux or Unix, or maybe i can deploy it as an web application ... and writing all these features wudn't be much of a concern, maybe a few 50 lines idhar udhar ?? Also if in current times u consider JVM a dependency then i think u need to step out of the little box ..
 
>>x64 notepad ... did u even understand what i meant ??

I am sorry I really can't think in Java. ;)

>>omg .. are they that stupidz ???

No they are great but from ur logic MS, Symantec, Macfee, Computer Associates, VMWare, Citrix, RSA ETC are.

>>Also if in current times u consider JVM a dependency then i think u need to step out of the little box ..

Oh thanks a lot for suggestion, I am fine in my smaller little box. ;)

>>I'd like to see a company pay me a good price for my knowledge in C only.

how about 8 Lks for 1 year experience, (C and assembly), must be peanuts for Java/SQL jobs right?

>>And whats wrong with learning Assembly ?? or COBOL ?? the fun in coding in legacy systems is so much you cant imagine.. who needs anything better !@!!@! i got cpu instruction set .. the best performance, the simplest logic etc. etc ..

To answer this one last thing whatever language you use your code to run eventually it runs as instructions(I think you knew it), the point here is that to execute code in instruction you need not write in assembly, that is what compilers are written for. And writing in assembly is no way guaranteed that your code will be faster than the code produced by compiler.

God bless your java understanding, I gave up you win. I can bet soon other guys will surrender :)
 
adi_vastava said:
Man, for few seconds I thought you are the owner of the said company. :)

lol sorry :P am just one of the regular employees...
deathvirus_me said:
Fine u win .. write a forum like one of Techenclave in C coz zomg C is awesome. .. then make a solution based on it so that we all can use it :) to make our own forums :) ...

You guys seem to categorize Java/C# as something related to more of GUI and presentation .. And you seem to think that C performs so much better than any other language in the market .. And some people seem to think Java/C# or modern day languages are not secure ?? @_@ ...

Solutions is/will be/always was the only thing that matters .. concept are nothing without result. .. if only the world relied on concept u'd not be having anything to use .. how many times wud u pass ur exam by saying u know the best logical answe and submitting a blank paper ?? And whats wrong in applying a formula when i know one, but u prefer to it step by step ???? Hmmm thats sheer brilliance ...

x64 notepad ... did u even understand what i meant ??

And whats wrong with learning Assembly ?? or COBOL ?? the fun in coding in legacy systems is so much you cant imagine.. who needs anything better !@!!@! i got cpu instruction set .. the best performance, the simplest logic etc. etc ..

I'd like to see a company pay me a good price for my knowledge in C only. I can bet my arse off that my delivering skills in better platforms will pay much more. I currently work for an "acquirer processor" whose entire system was running on .NET + MF, now upgrading to Java + SQL + MF .. i dont know why these brilliant solution providers decided to go with Java over C @_@ .. And they are the largest in their sector in USA ... omg .. are they that stupidz ???

I'd like to see C guru's provide quick and feature rich solutions to current day problems ... GUI is not important .. Microsoft shud go with Windows 3.1 look with Windows 8 instead ... logic is all that matters .. we should remove features like abstraction, encapsulation or anything such and go back to basic logic of adding subtracting etc. etc. ... we shud still develop 16 bit apps which dont run in 64 bit environment etc. etc ...

Also @ people who think u cannot start with Java : U dont start at JSP and Servlets when u learn Java .. there are variables and class and methods like any other language .. only when you are through with writing "hello worlds" and "fibonacci series" then u shud decide to move on with more serious topics.. i dont remember much but is writing "hello world" is very different in Java than C ?? Many people get certifications by reading pathetic dumps so that doesn't make them great coders .. And Java can't create coders ?? Haha u haven't met the right people .. 90% of the people who know Java dont even know to code properly in Java, so please dont include these things in this discussion ...

@ People who think Java is not secure : u have no idea about how Java works ... if it was not "more secure", industries wudnt be providing solutions based on it.

@ VS is development suite/platform .. VS collectively refers to VC,VB,ASP,ADO etc. etc. ... i really dont have fun writing all of them individually ..

Also i'd like to know, every C coder has the logic very clear right ??

--- Updated Post - Automerged ---



Thats very much compatible on Linux or Unix, or maybe i can deploy it as an web application ... and writing all these features wudn't be much of a concern, maybe a few 50 lines idhar udhar ?? Also if in current times u consider JVM a dependency then i think u need to step out of the little box ..

I get it that you are from the services sector..Is that right? If true, then all further discussion is meaningless..50 lines idhar udhar for a feature? I thought java/C# etc were for the rapid development as they took less code to be "written". Anyways, I'm into OS and drivers and we show a "Please don't call us, we will call you [not]" to java/C# etc etc developers..and if an OS is not the biggest software, the biggest deliverable out there, then I don't know what is (probably x64 notepad according to you :P )
 
adi_vastava said:
>>x64 notepad ... did u even understand what i meant ??

I am sorry I really can't think in Java. ;)

>>omg .. are they that stupidz ???

No they are great but from ur logic MS, Symantec, Macfee, Computer Associates, VMWare, Citrix, RSA ETC are.

>>Also if in current times u consider JVM a dependency then i think u need to step out of the little box ..

Oh thanks a lot for suggestion, I am fine in my smaller little box. ;)

>>I'd like to see a company pay me a good price for my knowledge in C only.

how about 8 Lks for 1 year experience, (C and assembly), must be peanuts for Java/SQL jobs right?

>>And whats wrong with learning Assembly ?? or COBOL ?? the fun in coding in legacy systems is so much you cant imagine.. who needs anything better !@!!@! i got cpu instruction set .. the best performance, the simplest logic etc. etc ..

To answer this one last thing whatever language you use your code to run eventually it runs as instructions(I think you knew it), the point here is that to execute code in instruction you need not write in assembly, that is what compilers are written for. And writing in assembly is no way guaranteed that your code will be faster than the code produced by compiler.

God bless your java understanding, I gave up you win. I can bet soon other guys will surrender :)
Haha u use those ?? I thought u write u're own in C ?? Why do u use Citrix ?? Dont u code urself one ?? Why do u use VMware ?? dont u code u're own ?? How can u use application after its compiled ?? shudn't u write everything in C for urself ??

U constantly support my view yet for you C is the basic everyone must learn ..

And assembly cant be faster than a compiler ??? hmm guess the whole idea of a compiler phails with ur c ??

Which company btw ?? gimme links :) ..1 year of c exp. going for 8 lakhs ?? 2 shud be 10+ easy .. wowie nice :) ..

--- Updated Post - Automerged ---

shantanugoel said:
lol sorry :P am just one of the regular employees...
I get it that you are from the services sector..Is that right? If true, then all further discussion is meaningless..50 lines idhar udhar for a feature? I thought java/C# etc were for the rapid development as they took less code to be "written". Anyways, I'm into OS and drivers and we show a "Please don't call us, we will call you [not]" to java/C# etc etc developers..and if an OS is not the biggest software, the biggest deliverable out there, then I don't know what is (probably x64 notepad according to you :P )

The wierd thing is why do you write and OS ?? shudn't u give the user documentation of how to do the job using C codes ?? LOL u guys constantly support what i say, yet u want everyone to understand C is the start and the end ?? U deliver products on C maybe, but not C lol ... u give a start menu for what ? why do u have something other that DOS ?? why ?? damm u guys need some brain drain before u come into such discussion ...

BUT most imp., gimme the company name :) 8 lakhs for 1 yr. exp. is awesome :) ..

And assuming i dont know anything about coding at the lowest level is wher eu make u're mistakes .. i do it coz i find it fun .. people who know me personally will put a stamp of nerdy on me when it comes to coding .. i code from C to core Java to Enterprise solutions to web stuff like Jquery ... and why do i d o this : coz i simply love it ... but practicality drives me more .... u can go on puttin forward all your "points" but eventually u'll end up where i started ...
 
^^ lol dude.. you are losing it... do you give your users java functions calls to work with? lol get a hold on what you are writing geez..

As adi said, I throw in the towel as well.. You win.. :)
 
so guys, i've began with Balaguruswamy as a starter.TBH ,I think learning C is a wonderful experience.Thanks all of you for instilling that confidence in me and I think that programming is surely my cup of tea.I thank LORD NEMESIS for his advice.
I'll be buying "Let us C" at a later stage.The shopkeeper was recommending Herbert Schildt books.Are these books good for starters?
And one more thing,should I install Linux in my system for C?Will windows do for the moment?
And what all softwares will I need to get started?
 
>>And one more thing,should I install Linux in my system for C?Will windows do for the moment?

yep its fine on windows.

--- Updated Post - Automerged ---

>>I'd like to see C guru's provide quick and feature rich solutions to current day problems ... we shud still develop 16 bit apps which dont run in 64 bit environment etc. etc ...
That is your problem Man, you think C can only develop 16 bit apps, its just a language and your compiler\linker work toegether to generate a binary and it is very much possible to create a 64 bit application in C.

>>Haha u use those ?? I thought u write u're own in C ?? Why do u use Citrix ?? Dont u code urself one ?? Why do u use VMware ?? dont u code u're own ??
you are hillarious, FYI they are not applications but companies, you probably can create companies in Java as well. We can not in C. ;)

By the way have a look at VMWare work station and see if you can figure out how to develop it in Java, than probably we can talk technically and not have to bang each other's head just like that.

>>>>Which company btw ?? gimme links ..1 year of c exp. going for 8 lakhs ?? 2 shud be 10+ easy .. wowie nice ..

Oh come on, How can I be so rude to do this to my COMPANY, can I? We are fine in our smaller world with C and assemblly, no place for your great programs. (One hint though I already mentioned few such companies Name but you mis understood them as application with your devine understanding)
 
Back
Top