Sign in to follow this  
choffstein

Yet Another "Should I learn" thread.

Recommended Posts

choffstein    1090
Hey all. I have been dabbling in C# lately, simply because I always consider it a good thing to add yet another language to your toolbox. However, I am developing on MacOSX. So, it sort of puts me in a pickle. Now, I am quite proficient in C++ as well as Java (no expert by any means, but I can tackle almost any problem I come across, or at least know where to begin). So what I am wondering is this: with no real access to the .Net framework on MacOSX (yes, I know about Mono, but I can't make windows or anything like that), does it make sense for me to keep learning C#? I just skimmed about 100 pages of a C# book and it all made perfect sense: it seems like a blend between Java and C++. Then again, thats only 100 pages in, and I assume in its finer details, it becomes very different. But with good knowledge of C, C++, and Java, does it make sense for me to continue learning C# "in theory," with no real practice, or learn a much different language that might open my eyes to new paradigms and practices (such as Lisp, or O'Caml)? Mind you, I plan on doing intensive work using Ruby this summer, so that is another language I will be learning. Thanks.

Share this post


Link to post
Share on other sites
chollida1    532
Personal opinion,

If your a Mac programmer and you don't see yourself programming for windows, then learn Cocoa and Objective C instead! Why not learn what benefits you now if you can only learn one language/framework.

Cheers
Chris

Share this post


Link to post
Share on other sites
choffstein    1090
Definitely an option. I forgot about Objective-C. Though, does it really make sense to learn Objective-C when I could learn either a) something much more popular and useful in the work place environment (c#), or b) something more likely to help broaden my horizons (lisp, o'caml)?

I dunno. A good thought though. Thanks.

Share this post


Link to post
Share on other sites
chollida1    532
Quote:
Original post by visage
Definitely an option. I forgot about Objective-C. Though, does it really make sense to learn Objective-C when I could learn either a) something much more popular and useful in the work place environment (c#), or b) something more likely to help broaden my horizons (lisp, o'caml)?

I dunno. A good thought though. Thanks.


Hey visage,

I'm not sure where you work but you mentioned a Mac. Objective C and Cocoa are hugely popular in the workplace when doing mac developement. Infact due to the success of it and the lack of interest in Java on the Mac, Apple has stoped work on their java bindings the Cocoa.

If you want to learn another language to learn, then like everyone and their dog will tell you, lisp is great!! I started by writing a simple xml parser in it and now I use it for about 20% of my work.

Cheers
Chris

Share this post


Link to post
Share on other sites
Rebooted    612
Sorry. I just thought I better edit that post to give some actual reasons.

Well if all you have ever used are imperative languages, learning a functional language is definitely a good learning experience. You learn how to do things in different and often better ways. You'll probably be pleased with how elegant your code can be, too.

Out of the three languages I suggested, OCaml is probably the most practical, and you may find it useful to use for your own projects. OCaml is an evolving language and its compiler and interactive development tools are very good. It also supports OOP for when OOP is a good solution to a problem.

SML is also a good language too, but is fixed and standarised, while OCaml is still changing. This is both a good and bad thing. My current favourite language is probably Alice, which is an extension of SML.

Haskell is a pure functional language. You'll probably learn the most from picking up Haskell, but it's probably less practical to use for your own projects since you have to use a functional style all the time, and all side effects have to go through monads.

[Edited by - Rebooted on April 17, 2006 5:17:25 PM]

Share this post


Link to post
Share on other sites
Thevenin    270
Quote:
Original post by visage
So what I am wondering is this: with no real access to the .Net framework on MacOSX (yes, I know about Mono, but I can't make windows or anything like that), does it make sense for me to keep learning C#?


I don't believe that Mono's WindowsForms doesn't work on the Mac OS; there homepage says it works, and that its near completion.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Quote:
Original post by visage
Any particular reasons? I am quite unfamiliar with them.


That's the best reason of them all.

Share this post


Link to post
Share on other sites
choffstein    1090
Thevevin: Wierd. I didn't see that. I will have to check it out. Maybe C# it is then... Do you have any experience with mono?

AP: I understand that. It is why I want to keep learning new languages. The fact that I know nothing about them, though, makes me incapable of selecting a "good" language to learn from one that will truly be a waste of my time (e.g. BASIC).

Any other suggestions? So far the list in my mind is like this:

C# (if windows work with mono)
Objective-C / O'Caml / Lisp

I would love to hear more thoughts.

Share this post


Link to post
Share on other sites
blanky    364
I really suggest C# as I believe this language has a future, yes you can make windows, with GTK, there were some tutorials and screencasts on mono site, lost link though. (Sorry, cant type im eating)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this