Dev Tools - Windows Mobile Software Development

Hi, since the WIKI page on dev tools is now 3 years old i thought i'd try a more direct way of getting up-to-date info....you guys
Now that VS2010 has been released (afaik with no support for smart devices) - what is the current toolset for wm6.x development?
I can code in c++ and c# so either of those would be preferable, although i dont mind learning ANOTHER language if necessary....i just need to know WHAT tools i need so i can get cracking writing programs
thanks in advance

Personally, I'm using VS2008 with mostly C# apps, and some C++ dev.
The MS SDKs for both WM6 and WM6.5 are great, and there's emulators for all the different resolutions, so it caters for a large audience.
Just my thoughts, but I'm a big Microsoft fan when it comes to development environments.

Related

I really want to develop software for the XDA but....

I Really Really Really want to develop some stuff for the XDA (I have been doing this sort of stuff for over 25 years!!) but I am not sure if Java would be best or C++ (I am dead good in both)
I know java like the back of my hand
and Borland C++ the same but I do not know Visual C++ at all (I have had a look and don't like what I see)
I am having REAL troubles finding out anything - Can anyone help :?:
A few pointers in the right direction would be great!!
Java has the adavantage of being portable but the packages avaialble are poor (only AWT it seems)
C++ would be great but it seems that you can only use Visual C++ (which is as visual as a blind man on a charging horse)
I need to be able to develop database-type applications with nice pretty controls such as Text Fields List Boxes and the like.
There is a beer in it for anyone who can help
Some options:
Java: no-go - there is no built in JRE on the XDA, so you'd have to count on your users to buy a third party one like Jeode or Creme.
C++: yes Visual C++ doesn't really provide a full visual toolkit, compared to the Borland IDEs, but it's the best performance-wise, and applications will run with minimal install on XDAs
EVB: Have you tried the embedded VB environment - it makes producing programs a doddle with a good screed designer etc, however performance is a dog as it's interpreted. Also access to API functions is difficult, and in a lot of cases (callbacks etc) impossible.
.NET CF: This might be the answer to your problem. You can develop applications using VisualStudio.net for the compact framework (ie the PocketPC) in either VB.Net or C#. The IDE is everything you'd want. The runtime is distributable (although it's 1.5B), but it's currently quite show. Strangely, you can't currently use C++.Net for the CF, but reportedly ths will be rectified soon. It's also quite costly.
So:
- for power, performance and code size, but missing ease of use: eVC
- for ease of use and code size, but limited power and low performance: eVB
- for ease of use and power, but lacking performance, and a 1.5MB CF install: .NET
Judging by your requirements for database style development, and your experience with C++, I'd recommend using C# and the .Net CF
If you don't want to invest in visual studio 2003, then go with eVB, but bear in mind eVB is being phased out and will be unsupported on PPC2003 devices.
hi
Dive into eVC++. Yes it is a pain to get started but you can do anything in it. I do most of my development for desktops in qt so it was a real pain to learn MS weird ways but it is not so bad and it is the only alternative.
Cheers
Ian Bennetts

Programming for PPC! how?

Hello all. Please help me! I wish to contribute to the development of cool apps for HTC devices/windows mobile devices, but I dont know which programming environment to use:
I have VB 6 and Vb.Net 2002. Is it possible to develop software for PPC using one of these? If so, exactly how and are their resources?
If not, What can I use and is there a low cost solution (I dont really want to buy .net 2008!)
Thank you!
Pocket Programming Language is worth a look:
http://www.arianesoft.ca/
PythonCE
PythonCE is just python on your PPC. You can develop your own program on your PC or on your PPC directly. I have started developing small apps on the PPC with PythonCE and I just love the feeling of developing on the PPC.
Anyway if you do not like the idea of scripting and interpreted languages at all, then you should work with at least VS 2005 I guess.
If you like hardwork, you can check CEgcc though.
I was a former Palm user and I liked the powerfull on board development tools there. I was able to program using a real C compiler (On Board C) or a real Pascal compiler on my Palm OS device. I wish we had such programs for our PPCs as well.

App idea, need help starting. :)

Since there isn't a SAPI that's accessible for windows mobile developers, I was disappointed. I just got a Samsung Omnia and I'm quite enthralled by it. I want to write an application that does speech recognition and text to speech.
eSpeak is a program easily ported. It's been done and comes with a how-to guide for compiling for windows mobile 6.x. As far as text to speech goes, then, I'm not too worried (it will be fun developing a voice.)
I got pocketsphinx to compile. The project settings says it was compiled for an x86 machine. Do I have to compile it for the ARM architecture, or do I just need to compile the final application for the ARM architecture, with the pocketsphinx dll somehow baked into the end result?
Also, I was wondering if anyone could point me to a beginner level tutorial for developing applications on windows mobile. I'm brand spanking new to developing on mobile devices, and while the language specific stuff is old hat, there's lots of transitional stuff I need to learn. Any links are appreciated. I'd like to not brick my Omnia by doing something silly, so I'll be developing strictly on my desktop until I'm satisfied with the safety of whatever it is I'm developing.
Thanks, awesome community here!
Hey there JR. As far as WinMo development, here's a list of the basic tools you need:
1. Visual Studio 2008 Professional SP1 + patches (or VS 2010 which is in beta now)
2. Windows Mobile 6 Professional and Standard Software Development Kits Refresh (device and cellular emulators, some samples, download from msdn.microsoft.com)
3. Windows Mobile 6.5 Developer Tool Kit (6.5 emulator images, gestures API etc - also at msdn.microsoft.com)
Assuming you will be writing managed code, the most widely used language is C#.
As far as books, unfortunately WInMo is not getting much love these days (hopefully this will change with WinMo 7) so there's little new but the best book out there IMO is "Microsoft Mobile Development Handbook" by Andy Wigley (2007).
The good news is that there's a plethora of on-line material, easily accessible from the aggregate Search screen in Visual Studio. Sites like codeguru.com, social.msdn.microsoft.com/Forums/en-US/windowsmobiledev, www.c-sharpcorner.com, www.codeproject.com, 4guysfromrolla.com etc are your best friends!
I hope this gets you started! Best of luck with the project.
JRowe47 said:
Since there isn't a SAPI that's accessible for windows mobile developers, I was disappointed. I just got a Samsung Omnia and I'm quite enthralled by it. I want to write an application that does speech recognition and text to speech.
eSpeak is a program easily ported. It's been done and comes with a how-to guide for compiling for windows mobile 6.x. As far as text to speech goes, then, I'm not too worried (it will be fun developing a voice.)
I got pocketsphinx to compile. The project settings says it was compiled for an x86 machine. Do I have to compile it for the ARM architecture, or do I just need to compile the final application for the ARM architecture, with the pocketsphinx dll somehow baked into the end result?
Also, I was wondering if anyone could point me to a beginner level tutorial for developing applications on windows mobile. I'm brand spanking new to developing on mobile devices, and while the language specific stuff is old hat, there's lots of transitional stuff I need to learn. Any links are appreciated. I'd like to not brick my Omnia by doing something silly, so I'll be developing strictly on my desktop until I'm satisfied with the safety of whatever it is I'm developing.
Thanks, awesome community here!
Click to expand...
Click to collapse
Writing in C#.NET Compact -- you have no worries for 'safety', unless you literally do a File.Delete("/Windows/blah");, you should be okay ;P
But yes, It is based off of the big .NET Framework. So if you can do .NET, you can do .NETCF.
acidhax said:
if you can do .NET, you can do .NETCF.
Click to expand...
Click to collapse
I don't agree. In .NET you usually do not need to worry about performance, you usually get away just fine by using a simple approach at the cost of a small bit of performance. On .NET CF you certainly need all the performance you can get. Also, the .NET Compact Framework is heavily stripped down and for a lot of tasks you need to find an alternative, innovative solution.

Which program can I use instead of Visual Studio to make apps for WM?

I want to make apps for WM especially HD2, only I have no experience in programming. Is there an easier program to make apps?
Or is there an easy way to learn Visual Studio? E.g. e-learning or an electronic guide.
Thanx
Sadly there is no "easy" way to learn programming as such, but if you search around on google there are many guides and a lot of help.
First thing to do would be to choose what language to use.
The main choices (if your using visual studio) are:
-Visual Basic .net
-C# .net
-C++
Personally I would advise using C++
It would take quite a while to learn, but its worth it.
Just use google and search for C++ lessons or stuff like that
theres plenty of people out there who have written stuff about it.
There are plenty of programs that you can use for writing in C++
But I dont know how good they are when making programs for
windows mobile. I find Visual Studio quite good.
Hope this helps
If you do not want to shell out the bucks for a professional version of VS there is always the gratis versions of Embedded Visual C++ version 4.0 and the earlier Embedded Tools 3.0 which comprises EVC 3.0 and Embedded Visual Basic. Both available as gratis downloads. I don't know whether MS still host Embedded Tools 3.0 on their site, but plenty of other hosts exist, discoverable via a Google search.
EVB is the easiest to learn. You can expect a very steep learing curve to master EVC, but if you do, you will find it a very enlightening experience. The inner guts of the device can be revealed.
In VS Pro you have the choices of C# and VB using the .NET CF objects. Easier to code than C++, but it does have one or two foibles to trap the unwary.
Good luck!
Visual Basic .net good, simple lang
sincerely recommend
You can also use Mortscript to make a lot of apps.
I recommend it if you are not ready to dive into .net.
resh1309 said:
I want to make apps for WM especially HD2, only I have no experience in programming. Is there an easier program to make apps?
Or is there an easy way to learn Visual Studio? E.g. e-learning or an electronic guide.
Thanx
Click to expand...
Click to collapse
There has been a lot of question on how to program lately.
Before asking, please:
1) Do a search on the forums
2) Look at the sticky in the front of the forum. There is plenty of information on programming in the Wiki pages.
Good luck!

Programming software

Hello!
I've never programmed before.
So im thinking of learning c++.
The only problem i got is, how do i get started?
Like, what programs do i need to download?
To build an application for windows mobile 6.5.
I know i need Visual basics c++ of course, but emulators? And what version.
Thanks for all answers
robbi13 said:
Hello!
I've never programmed before.
So im thinking of learning c++.
The only problem i got is, how do i get started?
Like, what programs do i need to download?
To build an application for windows mobile 6.5.
I know i need Visual basics c++ of course, but emulators? And what version.
Thanks for all answers
Click to expand...
Click to collapse
Oh boy.... Just so you know, programming == crack! I hope you know what you are getting into
The first thing that I would say, is learn C# instead of C++. That said, C++ is very powerfull, but there is much more that the programmer has to worry about (ie, pointer and memory leaks) Also, Visual Basic is a programming language similar to C# (and by similar I mean they compile to the same thing. They look nothing alike) Tidbit: BASIC stands for Beginner's All-purpose Symbolic Instruction Code. Cool huh?
I started with C++, then I learned C, then I learned C#. I use C# daily, but my C and C++ knowledge come in handy sometimes. C# is MUCH easier to learn and also is easier to find a job with it on your resume. Finally, jumping to other contemporary languages like Java is a piece of cake as Java is VERY close to C# (Sometimes too close... dang instanceof keyword...)
As for software, you will need Visual Studio. If you want to program for the .net 3.5 Compact Framework, you will need Visual Studio 2008 (not 2010).
If you are a student at a university, checkout dreamspark (www.dreamspark.com) You might be able to get a free version of VS to learn on.
As far as emulators go, you'll need the ones that emulate the devices you want to develop for
Get this one first, then at the bottom there are "related downloads". I would get as many as you can.
http://www.microsoft.com/downloads/...1D-97A8-4F80-BC6A-AE010E085A6E&displaylang=en
If you want to learn how to program, read a book. I would recommend the "Teach yourself" series. If you want to learn how to program well, take a class.
For tutorials, I like the articles on http://www.codeproject.com/
Good luck!
Thanks for all that info!
I'm a boy at a age of 14.
My purpose is to create only small programs. Like web based apps.
And do i need to buy visual basic c#? Or can i use the express version?
robbi13 said:
Thanks for all that info!
I'm a boy at a age of 14.
My purpose is to create only small programs. Like web based apps.
And do i need to buy visual basic c#? Or can i use the express version?
Click to expand...
Click to collapse
Props for starting young! Are looking to develop for Windows Mobile, or desktop? For desktop, you can use the Express Edition. For Windows Mobile, you need Visual Studio 2008 Professional edition.
Looking for windows mobile.
Proffesional costs like alot of money i think.
Is there any other c# editors i can use that are free?
Not planning to use alot of money yet.
Wanna test it for a while and see if its any fun and if my work will be appriciated.
If i come that far
robbi13 said:
Is there any other c# editors i can use that are free?
Click to expand...
Click to collapse
SharpDevelop. It can target Windows Mobile fairly well (http://wiki.sharpdevelop.net/CompactFrameworkDevelopment.ashx)
robbi13 said:
Looking for windows mobile.
Proffesional costs like alot of money i think.
Is there any other c# editors i can use that are free?
Not planning to use alot of money yet.
Wanna test it for a while and see if its any fun and if my work will be appriciated.
If i come that far
Click to expand...
Click to collapse
You can get a 90 day trial of VS 2008 Professional to try it out.
dude. please check out my programming tutorial i made. I think it was fairly easy and I can help you out in c# & vb.net. I too started when I was 14 and I am now fairly good at programming (being 15 now) But the point is....well, there's no point im getting to now but check out c#. Thats the easiest way to go without dipping too low in vb.net. Anyway, here's where I learned a bunch of stuff::
http://homeandlearn.co.uk/NET/vbNet.html
when you finish, you will be a master of vb.net....if you wanna go for c#, make sure you stick to one language and go for:
http://homeandlearn.co.uk/csharp/csharp.html
I would highly recommend not to go with mobile programming til' you get a basic understanding of the desktop programming (as .net CF is very very minimal compared to the full blown .net)...
ALSO as a final note, use Visual studio 2010 Express edition for programming and if you wanna go a step up into mobile programming, get visual studio 2008. 2010 doesn't support device programning.
rkrishnan2012 said:
dude. please check out my programming tutorial i made. I think it was fairly easy and I can help you out in c# & vb.net. I too started when I was 14 and I am now fairly good at programming (being 15 now) But the point is....well, there's no point im getting to now but check out c#. Thats the easiest way to go without dipping too low in vb.net. Anyway, here's where I learned a bunch of stuff::
http://homeandlearn.co.uk/NET/vbNet.html
when you finish, you will be a master of vb.net....if you wanna go for c#, make sure you stick to one language and go for:
http://homeandlearn.co.uk/csharp/csharp.html
I would highly recommend not to go with mobile programming til' you get a basic understanding of the desktop programming (as .net CF is very very minimal compared to the full blown .net)...
ALSO as a final note, use Visual studio 2010 Express edition for programming and if you wanna go a step up into mobile programming, get visual studio 2008. 2010 doesn't support device programning.
Click to expand...
Click to collapse
+1 on this. it's way easier to step into mobile developing if you have at least a basic grasp of programming for PCs. And the 2010 Express Editions are very nice. Definitely nicer than 2008 Express Editions.
A little hwile back I thought it would've been good to start learning in C++ (i started in C#), but looking back, C++ is way too hard to get a "quick win" and it's too easy to mess something up when you dont know what youre doing. C# you can literally go from zero programming knowledge to creatic a bsic application within a couple hours.
MSDN has some good C# programming tutorials also.
msdn blows for a first time newbie. I am posting a tute for an ultimate newbie in the dev section and hope to see a few people getting help from it
ok done. it is posted in new thread....enjoy.
One can not see the forrest thru the trees? I'll try my best to help you out here.
The xml International Standard Organization (ISO) -=[ find xml apps here too ]=- :
http://www.w3.org/standards/xml/
Side Note: Some Microsoft web pages need/prefer you being logged in @live.com
Learning XML An Overview;
XML is an almost universally supported way of exchanging documents and data across applications and platforms. Microsoft has a family of XML technologies that allows users with differing requirements to do what they need, as simply and efficiently as possible.
Which XML application programming interface (API) should you use? Here are our top-level guidelines:
If you are writing managed code targeting the .NET Framework in C#, Visual Basic, J#, managed C++, or any other managed language, you should use System.Xml and/or LINQ to XML in the .NET Framework.
If you are writing native code using Visual Basic 6, C, C++, or a scripting languages you will probably want to use the MSXML library:
MSXML6 is the latest version that's included with Windows XP SP3 and all versions of Windows Vista and Windows 7. New applications should be using MSXML6.
MSXML5 is an older library optimized for Microsoft Office 2003 and 2007 and can only be used on machines that have an Office license.
MSXML4 is nearing deprecation. MSXML6 should be used for new applications
MSXML3 is included in Windows XP and higher.
Comprehensive list of all MSXML versions and variants
If you are writing native code and your application has tight performance or memory constraints, consider the XmlLite API.
What XML Tools Are Available? Visual Studio offers a core collection:
XML Editor
XML Schema Explorer
XSLT Debugger
XML Tools in Visual Studio overview
.NET XML PowerToys:
Generating XML Documents from XML Schemas
The XML Diff and Patch GUI Tool
Using the XML Diff and Patch Tool in Your Applications
Using the XSD Inference Utility
XML Tools Update
Read more HERE; http://msdn.microsoft.com/en-gb/data/bb291061.aspx
Visual Studio Editor Choosing System
XML and the .NET Framework
Hosted by Microsoft; a very good and free XML Editor: XML Notepad 2007 (supports stylesheets)
Visit the XML forum
MSXML SDK
3 free XML Editors;
XF Desktop Edition 7.5.0
Comprehensive XML formatting solutions based on Open Standards.
XML Marker v1.1 ScreenShot
SciTE an opensource cross-platform SCIntilla Text Editor
Core Downloads for Windows Mobile
Windows Mobile 6 SDKs: documentation, sample code, header and library files, emulator images, and tools for building Windows Mobile 6 applications in Visual Studio
Windows Mobile Device Center 6.1 for Windows Vista (32-bit or 64-bit)
Microsoft ActiveSync for Windows XP or earlier versions
New Downloads
Windows Embedded CE 6.0 Monthly Update June 2010
Office 2010: Product Guides
Windows Embedded CE 6.0 Monthly Update May 2010
SQL Server Compact 3.5 SP2 for Windows Desktop
Windows Embedded CE 6.0 Monthly Update April 2010
Windows Embedded CE 6.0 Monthly Update March 2010
Windows Embedded? Give me More information please!
Windows Embedded? Of course here is more information!
Windows Embedded CE PowerToy: DiskPrep Blog (MSDN Code Galery)
Related Resources
Windows Embedded CE Development Tools
What is the .NET Micro Framework?
Windows Mobile Starter Kits
Windows Mobile 6 Developer Resource Kit Trial Software
Popular Downloads
Windows Mobile 6 SDK Refresh
Windows Mobile 6 Localized Emulator Images
SQL Server Compact 3.5 SP2 for Windows Desktop
Windows Mobile 5.0 SDK for Pocket PC
Office 2010: Product Guides
Windows Mobile Developer Power Toys
SQL Server Compact 3.5 SP1 and Synchronization Services for ADO.NET v1.0 SP1 for Windows Desktop
Library Topics
Installing Developer Tools for Windows Mobile
Welcome to Windows Mobile 6 Documentation
Windows Mobile 6 SDK Documentation
Windows Mobile 5.0 SDK Documentation
Only if you want to code your applications to run on all WM5/6 devices without any problems you need besides the Professional ~ the WM5/6 Standard SDK too!
Windows Mobile Developer Power Toys; (Released with WM5 though usable with WM6)
ActiveSync Remote Display - Display Pocket PC applications on your desktop or laptop without needing any device side configuration.
CECopy - Command line tool for copying files to the device currently connected to desktop ActiveSync.
Convert PPC DAT to SP XML - Command line tool for generating Smartphone CABWizSP XML docs from existing Pocket PC CAB files.
Hopper - User input stress simulator.
JShell - UI version of the Platform Builder Target Control Window.
PPC Command Shell - Command shell for the Pocket PC 2003 device.
RAPI Debug - Displays detailed information about currently running processes.
RAPI Start - Command line tool to remotely start an application on your Pocket PC from your desktop.
TypeIt - Send characters/strings to the Smartphone 2003 Emulator via ActiveSync.
Windows Mobile Network Analyzer PowerToy (Released with WM5 though usable with WM6)
Windows Mobile Device Security Manager PowerToy(Released with WM5 though usable with WM6)
Windows Mobile Development Tools and Resources!!! (Released with WM5 though usable with WM6)
General (Embedded) WM 6.x CE PowerToys link
-=[ Windows Phone (= Vista or Windows Seven as OS and VS2010) ]=-
Windows Phone Developer Tools Beta
Vista or Windows Seven and VS2010 and Embedded Windows Phone in action;
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
http://www.microsoft.com/express/Phone/
Microsoft SDKs for;
Azure Services Platform
Windows Desktop
Office
Devices
Windows Live Services
Server Technologies
Social
Games
Web Development
Other
Development Resources for WM- here on xda-developers.com UPDATED
http://forum.xda-developers.com/showthread.php?t=445396
Not (all) Windows Mobile specific: Microsoft Solution Accelerators & ~ A-Z technet :Free power(toys);
Tools and guidance that help you solve your deployment, planning, and operational IT problems. They are free and fully supported.
MSDN Code Galery third party resources Plus nice (embedded) CE PowerToys (like DiskPrep).
Delphi Components, Scripts, Codes: Blade API Monitor, Delphi SWF
SDK, FastCube, PDFConverter ActiveX ...
http://www.vclcomponents.com/Delphi/
Dependency Walker. Read it, download it, configure it, start using it! All first time users will be amazed Do not forget to read the thread completely ; great utilities when missed out on..
When developing for Windows Mobile or Windows Phone verify your application with PEinfo(executability check following Portable Executable File Format).
Have fun informing yourselves while downloading some SDKs people,
kliptik said:
+1 on this. it's way easier to step into mobile developing if you have at least a basic grasp of programming for PCs. And the 2010 Express Editions are very nice. Definitely nicer than 2008 Express Editions.
A little hwile back I thought it would've been good to start learning in C++ (i started in C#), but looking back, C++ is way too hard to get a "quick win" and it's too easy to mess something up when you dont know what youre doing. C# you can literally go from zero programming knowledge to creatic a bsic application within a couple hours.
MSDN has some good C# programming tutorials also.
Click to expand...
Click to collapse
Checking out the tutorial now.
I will start learning c# first. But leaving to Italy on sunday.
@robbi13: I understand that everyone is saying to go for C#, and they all are presenting very valid reasons of why to start there.
I however, feel, from my experiences, that learning C++ is a great way to start because it really challenges you. Take it like a workout: On your first day, you have to challenge yourself to see where you are and what you can do, then on every succeeding day, you do a bit more to get better.
Starting with C++, you can see if it is too tough to manage (dealing with Pointer issues and Memory Allocation / Leans), and if it is, go to C# or VB, but know that you made the attempt to learn C++ first. I tried learning C++ about 4 or 5 times, gave up EVERY single time (started with PSP Development) because I knew that I already knew how to code in Lua or C# or MortScript, and those 'safety nets' actually prevented me from learning a new language, because I was aware that I could fall back on them without having to learn a new thing at all.
Having said all that, if you would like help with C++ Development, PM me or email me at [email protected] ... I would be thrilled to help out a fellow aspiring developer
[BTW: I am 17 ... so consider that in terms of how I learned my languages]
Cyclonezephyrxz7 said:
I however, feel, from my experiences, that learning C++ is a great way to start because it really challenges you.
Click to expand...
Click to collapse
If there's one language every self respecting programmer has to know today, it's C. C is everywhere, it's as close to the bare metal as you need to get, and yet it's a simple and elegant language. The concepts you learn with C are relevant in every other programming language. C may be hard for a beginner to understand, but it's a language you can eventually fully master - it has relatively few concepts you need to understand, and few exceptions and quirks.
C++ adds nothing to your understanding over C. And yet C++ it a much more difficult language - you can't really use it without a solid understanding of C, and you need to know a whole lot more to figure out the variety of exotic bugs you come across.
So my advice: forget C++. There are 2 things a serious programmer really must know - C and any modern high level language, such as C#. The order of learning is down to preference, but I think it's better to get the hang of programming first with C# before delving deep into implementation details with C. A hobbyist however can just learn C# and be done with it.
Elemris said:
If there's one language every self respecting programmer has to know today, it's C. C is everywhere, it's as close to the bare metal as you need to get, and yet it's a simple and elegant language. The concepts you learn with C are relevant in every other programming language. C may be hard for a beginner to understand, but it's a language you can eventually fully master - it has relatively few concepts you need to understand, and few exceptions and quirks.
C++ adds nothing to your understanding over C. And yet C++ it a much more difficult language - you can't really use it without a solid understanding of C, and you need to know a whole lot more to figure out the variety of exotic bugs you come across.
So my advice: forget C++. There are 2 things a serious programmer really must know - C and any modern high level language, such as C#. The order of learning is down to preference, but I think it's better to get the hang of programming first with C# before delving deep into implementation details with C. A hobbyist however can just learn C# and be done with it.
Click to expand...
Click to collapse
Yeah I think you hit the nail on the head with "hobbyist" it really depends on how much you're going to be learning. If you're just going to play around a little bit and then get burnt out, you migh t as well do it in C# andenjoy it!
That being said, the .NET frameork does have some shortcomings, and to get around them you need some knowledge in C/C++...

Categories

Resources