Page 1 of 2 [ 20 posts ]  Go to page 1, 2  Next

seaweasel
Toucan
Toucan

User avatar

Joined: 28 Jan 2008
Age: 34
Gender: Male
Posts: 266
Location: In one of the New England States

20 Aug 2008, 6:25 pm

Hi
I am suddenly intrested in learning c and writing programs i got a couple questions.

1.How long does it take to learn would i be able to learn it in a 2 year college or something?

2.Does microsoft hire people who know c?



Keith
Veteran
Veteran

User avatar

Joined: 12 Aug 2008
Age: 41
Gender: Male
Posts: 2,321
Location: East Sussex, UK

20 Aug 2008, 7:09 pm

I started off with a language way before DOS was around, and even then, I can still write a few programs. I do understand how/why computers crash from it. People think programming is easy, I don't know what they imagine.

Programming is about giving information about what to do at certain points. No such thing as draw circle. You have to tell it HOW to draw and where to start and finish. I'm planning to use Linux to use C/C++ and maybe some others



Orwell
Veteran
Veteran

User avatar

Joined: 8 Aug 2007
Age: 35
Gender: Male
Posts: 12,518
Location: Room 101

20 Aug 2008, 8:10 pm

Keith wrote:
I started off with a language way before DOS was around

Your age is listed as 25, which means you were born in 1983 or thereabouts. Unless you were programming several years before you were born, you were not using any language before DOS was around.


_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH


lau
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 76
Gender: Male
Posts: 9,795
Location: Somerset UK

21 Aug 2008, 10:20 am

Orwell wrote:
Keith wrote:
I started off with a language way before DOS was around

Your age is listed as 25, which means you were born in 1983 or thereabouts. Unless you were programming several years before you were born, you were not using any language before DOS was around.

Erm... which DOS would that be?

I vaguely recall using the 1966 IBM mainframe computer disk operating system DOS, later called DOS/360.

I later used PDP11 RDOS, a DG DOS iirc, and the OS we wrote ourselves, around that time, on CTL kit, we probably called DOS.


_________________
"Striking up conversations with strangers is an autistic person's version of extreme sports." Kamran Nazeer


Keith
Veteran
Veteran

User avatar

Joined: 12 Aug 2008
Age: 41
Gender: Male
Posts: 2,321
Location: East Sussex, UK

21 Aug 2008, 10:34 am

Orwell wrote:
Your age is listed as 25, which means you were born in 1983 or thereabouts. Unless you were programming several years before you were born, you were not using any language before DOS was around.


My listed age is correct, it does not mean I started when the OS was new...



Orwell
Veteran
Veteran

User avatar

Joined: 8 Aug 2007
Age: 35
Gender: Male
Posts: 12,518
Location: Room 101

21 Aug 2008, 11:03 am

Keith wrote:
Orwell wrote:
Your age is listed as 25, which means you were born in 1983 or thereabouts. Unless you were programming several years before you were born, you were not using any language before DOS was around.


My listed age is correct, it does not mean I started when the OS was new...

You said you were programming before DOS was around, which is a logical impossibility since DOS existed before you did.


_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH


drybones
Deinonychus
Deinonychus

User avatar

Joined: 14 May 2008
Age: 54
Gender: Male
Posts: 313
Location: UK

21 Aug 2008, 11:10 am

1. yes.

time to learn a programming language is largely irrelevant though. whats takes the time is becoming a master of your preferred language and that comes from experience

2. yes.

although I'd guess C++ is widely used too

OP, do you have experience of any other languages?



Orwell
Veteran
Veteran

User avatar

Joined: 8 Aug 2007
Age: 35
Gender: Male
Posts: 12,518
Location: Room 101

21 Aug 2008, 11:13 am

Anyways, I don't have any real programming experience, but I hear C is one of the tougher languages to learn. But I would guess two years of college work should be plenty to get you programming in C.


_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH


Fuzzy
Veteran
Veteran

User avatar

Joined: 30 Mar 2006
Age: 52
Gender: Male
Posts: 5,223
Location: Alberta Canada

21 Aug 2008, 12:58 pm

C isnt too hard. To get a passible skill in it is not a big deal. What does take a long time is the nuances and the ability to be very efficient with your code.


_________________
davidred wrote...
I installed Ubuntu once and it completely destroyed my paying relationship with Microsoft.


Fnord
Veteran
Veteran

Joined: 6 May 2008
Gender: Male
Posts: 60,939
Location:      

21 Aug 2008, 1:11 pm

I've been programming since the late 1970's, and I'm still learning new tricks in each of the C languages.



Fuzzy
Veteran
Veteran

User avatar

Joined: 30 Mar 2006
Age: 52
Gender: Male
Posts: 5,223
Location: Alberta Canada

21 Aug 2008, 1:24 pm

I always liked conditional expressions best.

a = (b>c) ? 0 : 1;


_________________
davidred wrote...
I installed Ubuntu once and it completely destroyed my paying relationship with Microsoft.


lau
Veteran
Veteran

User avatar

Joined: 17 Jun 2006
Age: 76
Gender: Male
Posts: 9,795
Location: Somerset UK

21 Aug 2008, 1:48 pm

Fuzzy wrote:
I always liked conditional expressions best.

a = (b>c) ? 0 : 1;


And I hate redundant parentheses:

a = b > c ? 0 : 1;

And I hate redundant code:

a = b <= c;

But, a beauty to behold...

Code:
#define   getc(p)      (--(p)->_cnt < 0 ? __filbuf(p) : (int)*(p)->_ptr++)
#define   putc(x, p)   (--(p)->_cnt < 0 ? __flsbuf((unsigned char) (x), (p)) \
            : (int)(*(p)->_ptr++ = (x)))


_________________
"Striking up conversations with strangers is an autistic person's version of extreme sports." Kamran Nazeer


Fuzzy
Veteran
Veteran

User avatar

Joined: 30 Mar 2006
Age: 52
Gender: Male
Posts: 5,223
Location: Alberta Canada

21 Aug 2008, 1:51 pm

lau wrote:
But, a beauty to behold...

Code:
#define   getc(p)      (--(p)->_cnt < 0 ? __filbuf(p) : (int)*(p)->_ptr++)
#define   putc(x, p)   (--(p)->_cnt < 0 ? __flsbuf((unsigned char) (x), (p)) \
            : (int)(*(p)->_ptr++ = (x)))


My eyes are now obfuscated!


_________________
davidred wrote...
I installed Ubuntu once and it completely destroyed my paying relationship with Microsoft.


Johnny_Monolith
Butterfly
Butterfly

User avatar

Joined: 14 Aug 2008
Age: 52
Gender: Male
Posts: 17

21 Aug 2008, 8:22 pm

C is actually pretty easy to learn the basic syntax of, but with complicated programs it gets very messy very quickly. With simple stuff I would say you could have a functional knowledge of it if you spend 1 hour a day for 3 months or so learning syntax, structure, and program composition.

However, for complicated data structures and methods of modern programming (object oriented programming), the best way to learn that is by using C++. Depending on who you ask, C++ has a steeper learning curve but is a more functionally useful language.

I actually learned by using an almost obsolete language called Pascal, then learned the data structures within it, then moved on to C++. Perhaps in a bit of irony, my first "real job" was writing straight old-style C for embedded systems (embedded systems are specific use devices, for example the software in your car's engine computer or your DVD player).



NeantHumain
Veteran
Veteran

User avatar

Joined: 24 Jun 2004
Age: 45
Gender: Male
Posts: 4,837
Location: St. Louis, Missouri

21 Aug 2008, 9:58 pm

Keith wrote:
I started off with a language way before DOS was around....

PC DOS was released with the original IBM PC in 1981. It says you're 25, so you can't be old enough to have worked on anything pre-DOS.
Keith wrote:
No such thing as draw circle. You have to tell it HOW to draw and where to start and finish. I'm planning to use Linux to use C/C++ and maybe some others

Ever heard of abstraction?
Code:
draw(circle);

That could very well be a line of valid C code that, well, draws a circle. Of course, there would be more lines of supporting code that define draw() and that set up the circle struct, but that's immaterial here.



t0
Veteran
Veteran

User avatar

Joined: 23 Mar 2008
Age: 51
Gender: Male
Posts: 726
Location: The 4 Corners of the 4th Dimension

21 Aug 2008, 10:43 pm

seaweasel wrote:
1.How long does it take to learn would i be able to learn it in a 2 year college or something?

2.Does microsoft hire people who know c?


Microsoft hires developers who can solve problems in code. You'll probably need to know C to get through the initial vetting. I worked there during the 90's and interviewed about 200 developer candidates while I was there. I think I only interviewed 1 developer who didn't know C/C++ and I gave him a "hire" recommendation because he could design algorithms in VB, write them correctly, and justify his design compared with other suggestions. I figured he could learn decent C in a couple weeks - certainly better than trying to teach someone how to solve problems.