Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Earendil

macrumors 68000
Original poster
Oct 27, 2003
1,598
83
Washington
I have a two part question to request of the Apple community here.

A little background first. I'm a CS major fresh out of my freshmen year. At this point I am pretty fluent in C++, but that has been (of course) entirely windows based. C++ is pretty cross platform, and in fact most of my projects were also compiled under both Windows and OSX. But there are some things, like reading in from, or outputting to a file that I could not get to work under OSX.

Is there a book that "teaches" C++ for Apple users, or at least teaches with a cross platform user in mind? Better yet would be a book on XCode, and how to use it in conjuctions with building programs. It would mostly be a refference book so that I can use my knowledge of C++ on my beloved platform. Atm I have too many holes in my knowledge of C++ and XCode to code anything complex for OSX using XCode.

Questiong number two is smaller (though possibly with more dispute). I want to learn C Sharp in order to increase my chances of getting an intern ship next year. I'm shooting for a specific company that uses both C, C++, and C-Sharp, so it seems like a good idea to pick this language up :)
As I've pointed out, I'm pretty familiar with C++, so if there is a good book out there that perhaps teaches C-Sharp from the angle of someone versed in C/C++ and just wants to pick up a second language that would be great.

Also, if there is a forum out there that will accept newbies to OSX programming, I'll happily repost there if need be.

Thanks guys,
~Earendil
~Tyler
 

jaseone

macrumors 65816
Nov 7, 2004
1,245
57
Houston, USA
Unfortunately I can't help answer any of your questions but I'm sure someone here will be able to... However I was just wondering if many companies if any actually have any C Sharp based projects out there? It hasn't even been on our radar and I haven't heard of any other companies that do...
 

Foniks Munkee

macrumors member
May 15, 2005
38
0
Try the mono project for C# - mono-project

C# is getting more and more popular, there are even a number of commercial games being released written entirely in C#. It was designed by a very good compiler/language designer Anders Hejlsberg, the man behind Pascal and Delphi. I've also noticed an increase in jobs for C# developers (at least in Australia) so I don't think it is going away.

It is an open specification too, so it is not actually under the control of Microsoft, only the actual forms part of the library is (which is considered to be seperate from c# anyway - i.e. it is not covered by the language specification). Much the same way C++ works.

Sorry - don't know of any books etc.

[edit] Actually if you are already a good programmer - then pick up "The C# Programming Language" by Anders Hejlsberg et al, its a great guide, but is pretty dry if you have never programmed before. If you are familiar with OOP programming in C++ its great.
 

Earendil

macrumors 68000
Original poster
Oct 27, 2003
1,598
83
Washington
Foniks Munkee said:
Try the mono project for C# - mono-project

C# is getting more and more popular, there are even a number of commercial games being released written entirely in C#. It was designed by a very good compiler/language designer Anders Hejlsberg, the man behind Pascal and Delphi. I've also noticed an increase in jobs for C# developers (at least in Australia) so I don't think it is going away.

It is an open specification too, so it is not actually under the control of Microsoft, only the actual forms part of the library is (which is considered to be seperate from c# anyway - i.e. it is not covered by the language specification). Much the same way C++ works.

I don't know about the industry as a whole, but this company does R&D on automated drone planes. Learning even a useless language that will help me get a job in the software department here is WELL worth it, trust me ;)
(Don't ask for the name of the company, I'm not telling)


[edit] Actually if you are already a good programmer - then pick up "The C# Programming Language" by Anders Hejlsberg et al, its a great guide, but is pretty dry if you have never programmed before. If you are familiar with OOP programming in C++ its great.

That is what I was thinking of. Though from the reviews it might be a little big on the refference aspect and not the teaching aspect. Perhaps I'll pick it up with another book on C#.
The ideal world would be a comprehensive book on learning C# as learned through XCode :D
But oh well...

Can anyone speak for any of these books or their authors? This is just a search for xCode on Amazon.


Half of them appear to be set for release in June, and at least one of them is schedualed for Sept, so I may not get many opinions on them. But even the ones that have been released have little to none in the way of reviews at amazon.

Thanks for the replies guys,
~Earendil
Tyler
 

csubear

macrumors 6502a
Aug 22, 2003
613
0
My advice is...

<2cent>
Your going to be in your second year. You may know the c++ syntax very well, but what you need now is to master object oriented design(OOP) concepts. Know c# will help you in the short run, mastering design fundamentals is what is truly imporant. Once you do that you'll be able to design a project in any langauge.

My advice also would be to do some studing on how operating systems do their work, how the computer hardware does its job (more than just knowing that you plug cpu in to board) Understanding the fundamentals will put you way more ahead of the game and just picking up a second langauge.

C# is not the language to do this kinda of stuff in. The microsoft enviroment is to auto-magical. It does to many things for you. This only hurts your understanding of how things work.
</2cent>
 

cubist

macrumors 68020
Jul 4, 2002
2,075
0
Muncie, Indiana
C# is not a magical new language by "very good compiler/language designer Anders Hejlsberg". It is, pure and simple, a Microsoft clone of Java, nothing more. Never forget that - and never let any opportunity pass to rub it in the face of Microsoft fanboys.
 

admanimal

macrumors 68040
Apr 22, 2005
3,531
2
My advice is to learn how to program in one of the popular languages (C, C++, or even Java) really really well, ideally by writing lots of actual code in it. Once you are very skilled at programming in general, learning a new language is generally reduced to getting used to some syntax differences and a handful of idiosycratic language features. Of course there would be an extra learning curve if you are going from C to some object-oriented language.

In your situation, I would actually suggest learning Java really well. It is a much more compact language than C++, it is supported very well on OS X, it is more widely used in the real world than C#, and it is very similar to C# (probably even more so than C++). If you get a very good grip on Java, you can pick up most of what you need to know about C# just from reading a book or even some online tutorials or something. Plus you can add it to the list of languages you know.
 

admanimal

macrumors 68040
Apr 22, 2005
3,531
2
cubist said:
C# is not a magical new language by "very good compiler/language designer Anders Hejlsberg". It is, pure and simple, a Microsoft clone of Java, nothing more. Never forget that - and never let any opportunity pass to rub it in the face of Microsoft fanboys.

Haha....that's basically what I just did...I just masked it in a veil of good advice.
 

Pismo

macrumors 6502a
Apr 30, 2002
528
48
NH
I have a CS degree and I think you should concentrate on C, C++, and Java. I was not that crazy about C#. I took a C# class my junior year and it was boring as hell and easy. If you want to apply your programming knowledge to Mac's and PC's, just worry about C, C++, Java, and Objective-C.
 

Earendil

macrumors 68000
Original poster
Oct 27, 2003
1,598
83
Washington
Thanks for the advice, of which I know is very good advice. But let me explain the situation a little better.

I am currently working at the before mentioned company as a ground support systems guy. I am currently building and putting together the computers that the software runs on (so I'm getting the grasp of hardware one guy mentioned). I'm not working on the drone planes, but I'm part way through my private pilots license, so I know how planes work.
The classes I will take my sophomore year are more or less set in stone, so there is no changing that. And when it comes to a resume, I can't really say "Oh yeah, and I studied C++ really really hard in my spare time". First off they are going to look at what classes I've taken, what languages I know, my grades, and possibly a project or two.
They will already know me and who I am, I just need to impress them or show them that I want this job by learning the required languages.

I have little hope of mastering C++ or C# in the next year, and for what I will be doing (most likely debugging) I won't need to know how to create complex software from the ground up. But I don't want to walk in with a black belt in C++ and see C# code for the first time only to be baffled by the syntax. Plus these guys are moving their code over to C#, it would be good to know C# well enough to understand WHY they are doing this. Obviously someone thinks C# has special benefits to their project.

C# might be useless to me after this internship, but trust me, working with PhD's in the field of drone AI that is currently being flown over Iraq is a HUGE deal and would be an incredible internship. A letter of recommendation as well as the experience is well worth learning a language I may never use again.
 

Foniks Munkee

macrumors member
May 15, 2005
38
0
C# is not a magical new language by "very good compiler/language designer Anders Hejlsberg". It is, pure and simple, a Microsoft clone of Java, nothing more. Never forget that - and never let any opportunity pass to rub it in the face of Microsoft fanboys.

I really just don't want to get into a big MS thing here, it really has nothing to do with the OP's question.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.