Wanting to move into development - which area?

Also, I assume that the code syntax between C# and C# .Net are the same? (Besides the IDE difference?)

Yes, that is correct. C# on .Net and on Mono has the same syntax and same bytecode it compiles into.
 
Yes, that is correct. C# on .Net and on Mono has the same syntax and same bytecode it compiles into.

.net is the Microsoft framework. C# is a language that targets the common language infrastructure (CLI) , which forms the core of .net and mono.

So C# books "might" be a generic book (to the frameworks), whereas C# .net is specific to the Microsoft framework and probably includes some Microsofty things such as the CLI, CLR etc.
 
So would it be best looking at C# .Net books or C# only books?
 
Can you tell me your reason for that? ( Asking out of interest here )
 
Because if you go the C# route, you'll most probably end up doing .net development. In which case you'll need to know the .net environment also. On the slim chance you get into Mono dev work,you'll then already know C#.
 
Ah, that makes sense.

Thank you.

Ive picked up a book called: C# 2010 All-In-One for Dummies. Seems to cover a lot in its 890 pages.
 
Good luck with the studies and have fun. I hope you will enjoy it very much.
 
Thanks, I cant study till I have a PC. Hopefully that will be solved soon!
 
Hey guys,

So, I am using the SOs MacBook Pro.

I've decided to get VMWare installed and a copy of Windows 7. Also, downloaded VB C# 2010 and following a good book on the language too.

I'll keep this thread updated for all who may be interested.
 
@Tander - when you are ready for a perm job, drop me a CV. At bidorbuy we are looking for devs (at the moment there is a 25K bounty out for snr Java devs - http://www.linkedin.com/jobs?viewJob=&jobId=5037362&trk=job_nov).

We are looking at bringing our iOS development in house. (Currently also providing channels on Android and BB10)

I think if you manage to focus on iOS/Android you will be well placed. Android gives you the edge that you are "forced" to learn Java, which will also help you in other engagements (i.e. if necessary you will be able to code out webservices required for your mobile apps). BB10 has in my opinion a promising future - purely because the device and OS is fresh and the SA market has a high BB penetration.
 
PHP is easy to pick up, but then you get to OO programming within PHP etc that helps a lot in learning more as you go along (don't forget to pick up sql / database design etc)

Once you're familiar with that, switching to C# is easy peasy. I'd go that route instead of c# first.

You need something easy to train with. Then move on to the heavier/"harder" ones. Same thing, I'd always recommend VBScript (classic ASP) before going into vb.net etc

This. PHP is great because you can learn your DB skills at the same time and there is always a bunch of work available for php devs. Learn your DB skills!!
 
Thanks for the replies gents.

I realized everyone is going to have their own reason / opinion on which language to start with. However, taking some advice from this thread - I think I should just start. It doesn't really matter what language as long as I start, right?

I'm thinking C# still as a starting point. I will probably end up going the iOS route as I am an Apple fan and developing on their devices looks to be very interesting.
 
I find it bizarre that someone puts Windows 7 on a Mac.

But, I guess they have their reasons.

I have a PC with Windows 7 on it. I have a mac book pro. There is no way Windows 7 will get onto my MacBook :)

And there is no way OSx will get onto my PC :)
 
I find it bizarre that someone puts Windows 7 on a Mac.

But, I guess they have their reasons.

I have a PC with Windows 7 on it. I have a mac book pro. There is no way Windows 7 will get onto my MacBook :)

And there is no way OSx will get onto my PC :)
I find it bizarre that you find it bizarre :p
Bootcamp is handy in that it will give you the best of both worlds. There are still things that need to be done in windows and parallels etc suck.
 
I find it bizarre that someone puts Windows 7 on a Mac.

I don't. I used Bootcamp initially for native Windows boot, but got frustrated with it as after each major OS X upgrade the bootcamp partition got messed up. VMWare Fusion has a great feature which allows you to run a Bootcamp partition then within VMWare. From a testing perspective we use VMWare and pretty much every major OS virtualised (including a BB10 VM).

Native gaming on OS X is getting better (Diablo III, Guild Wars 2, Steam etc).
 
I find it bizarre that someone puts Windows 7 on a Mac.

But, I guess they have their reasons.

I have a PC with Windows 7 on it. I have a mac book pro. There is no way Windows 7 will get onto my MacBook :)

And there is no way OSx will get onto my PC :)

I use Windows as a secondary OS on the MBP.

I find it bizarre that you find it bizarre :p
Bootcamp is handy in that it will give you the best of both worlds. There are still things that need to be done in windows and parallels etc suck.

I don't use Bootcamp - I use VMware Fusion. It allows me to quickly boot up Windows (Or my Linux OS ) and quickly switch back to OS X without having to reboot. Best of both worlds.

I don't. I used Bootcamp initially for native Windows boot, but got frustrated with it as after each major OS X upgrade the bootcamp partition got messed up. VMWare Fusion has a great feature which allows you to run a Bootcamp partition then within VMWare. From a testing perspective we use VMWare and pretty much every major OS virtualised (including a BB10 VM).

Native gaming on OS X is getting better (Diablo III, Guild Wars 2, Steam etc).

I agree, VMWare Fusion is better. Also, like you stated - there are just some things that need to be done on Windows (Or Linux). So, this is why I have more than one OS on the MBP.
 
PHP is easy to pick up, but then you get to OO programming within PHP etc that helps a lot in learning more as you go along (don't forget to pick up sql / database design etc)

Once you're familiar with that, switching to C# is easy peasy. I'd go that route instead of c# first.

You need something easy to train with. Then move on to the heavier/"harder" ones. Same thing, I'd always recommend VBScript (classic ASP) before going into vb.net etc

You ever tried to debug VBScript/classic ASP?

VBScript and classic ASP are dead languages, with outdated tools and difficult debugging. I dont like VB.Net, but I'd recommend it over VBScript since it will be easier to work with. Debugging using a modern UI is MUCH easier.

I cannot believe someone in this day and age would recommend VBScript over any form of .Net or Java. I'd recommend any scripting language, including Ruby and Python, over VBScript. With Ruby and Python, at least you get usable skills. With classic ASP, all you can do is maintain websites for people too cheap to have them rewritten in a modern language.

Thanks for the replies gents.

I realized everyone is going to have their own reason / opinion on which language to start with. However, taking some advice from this thread - I think I should just start. It doesn't really matter what language as long as I start, right?

I'm thinking C# still as a starting point. I will probably end up going the iOS route as I am an Apple fan and developing on their devices looks to be very interesting.

Yeah, just start. Pick any language, read up on it, try it out. Takes 5 minutes to try a language out, see if you can do Hello World in at least 5 languages.

The thing is, what you need to remember, is that languages are nothing but tools. Dont get too hung up on the language itself, its not important (although there are caveats), not for learning. Its what you write that matters.

Languages only start to matter when you have a particular project to do, and you need to select the appropriate tool. At the moment, in the learning phase, pick something that is A) easy to learn, B) easy to express yourself in, C) easy to debug.

Debugging refers to examining the state of a running program to find out why it is misbehaving. Its an essential tool for programming.
 
Last edited:
I went for Java a few years back and haven't looked back. But then again, I'm in the online transactions environment and alot of systems we interact with is java (Postilion was developed on Java SE). You have killer app servers like glassfish and jboss for webservices and enterprise apps (J2EE). Android, BB dev is also java as previous posts suggests. Glad that php is getting alot of mention here, as I also use it as my main web based language. With php, html, css, jquery etc you cant go wrong. If you need any server based applications, you cant go wrong with java, either java SE or EE. SE now have killer networking library - NIO2.

JavaFX 2 for GUI is also a leap forward for java and Java 8 is on the way later this year, so don't believe all the doomsday sayers!

And,as AcidRazor pointed out, get your DB knowledge under the knee, no use you can dev but don;t know DBs. MSSQL, MYSQL. (I love postgresql)

BUT mostly I hate MS products (c#, vb etc) and love not being restricted across OS (yes, I know.. mono this, mono that).
 
Languages only start to matter when you have a particular project to do, and you need to select the appropriate tool. At the moment, in the learning phase, pick something that is A) easy to learn, B) easy to express yourself in, C) easy to debug.

I think this a very simple view. I agree with you that depending on the language the syntax will differ but it goes a lot further than that. Especially when you look at mobile app development. In Java (for Android dev) you don't really have to pay a lot of attention to memory management, but in Objective C++ you will be exposed to pointers and memory allocations. There are also fundamental differences in the way you develop UIs and how UI managers manage the UIs across the different platforms. Other aspects are simple aspects such as push notifications - each platform uses a different way of achieving that.

It is true, to learn a new development language is easy, it's the architecture you develop on is the complex/difficult part. I would pick a platform which scales commercially and my opinion is:

- iOS: Great development environment and lots of support. Can only be developed on OS X, but Xcode dev environment rocks - simulators and debugging tools are very easy. Coming from C/C++ and now on Java I found ObjectiveC and the way UI's are developed difficult. But then again, I was never good with GUIs ;-). iOS consumer base is great, the users are used to pay for stuff - so a good ecosystem for paid apps.

- Android: It's Java and the language is dead easy. The Android SDK and simulators suck in my opinion - even on a MacBook Pro with 16GB RAM and SSD it takes way to long for the simulator to load. Remote debugging is okay but the whole development process is not as polished as iOS. Android consumer base is "cheap" - everyone wants free apps and you need to work on a commercial model to capitalize afterwards.

- Win8/RT: Sorry Microsoft fans - I consider this mobile platform still dead. It might be cool and awesome, but it has way too little traction that anyone would use this as a primary platform to develop against. Considering how much money the mobile app development costs, I would only look at Win8/RT to scrape out the barrel. I also think Win-users are adverse to pay for things ;-)

- BB10: (I like all things Apple) but just recently switched over to a Z10 (mainly because I got a free one - lol) - the OS is polished and the platform is "fresh" - so lot's of opportunity in the "new land" of mobile. The bigger companies are holding back and the developers hitting a niche first will reap benefits. The platform is easy and the user base (corporate users) is willing to pay.


iOS/Android is certainly a must have skill. If you are an early adopter (and by the looks of it BBRY will make it) BB10 is a promising platform to develop on.
 
Top
Sign up to the MyBroadband newsletter
X