Simple programming tutorial? - Windows Mobile Software Development

Hi all. Im looking to develop my first app. Its for Touch Pro 2 running WM 6.5.
I want the app to perform the following simple mathmatical calculations:
a=manually entered number between 2 and 20
1) a*200=b
2) b*40%=c
3) b*20%=d
4) b*15%=e
5) b*10%=f
6) b*8%=g
7) b*7%=h
The program would allow me to enter 'a' into a text box. It would then calculate and report calculations 'b'-'h'.
I understand that this can be very simply accomplished using Pocket Excel, however Im hoping to create a nice simple GUI for the program. Im not asking anyone to create the app for me, just to point me in the direction of some relevant tutorials.
Cheers all

It would help if you told us what Language you are aiming to use

Not a clue. Never programmed before. Was hoping this might be a nice simple starter app. Any recommendations on which is the best language to use for what I want the app to do?

I started with C# and it's pretty easy to learn. There's a ton of tutorials for C# programming at msdn.com both for desktop and mobile applications.
Beginner Development Series (intro, tutoirials, videos, etc): http://msdn.microsoft.com/en-us/beginner/dd435692.aspx
WinMo Rampup (helps to have programming basic knowledge): http://msdn.microsoft.com/en-us/rampup/dd807370.aspx
WinMo Developer Center (download SDKs, forums, etc.): http://msdn.microsoft.com/en-us/windowsmobile/default.aspx
Enjoy!!!

I agree that C# is a very easy to learn language for people enterring the developing 'world'.
I started by learning C#, however, as helpful as it was in terms of understanding coding, I do regret starting with it. I personally feel, learning from my 'mistake', that learning C++ would have been a greater thing to do FIRST. It is a large jump to go from little/no knowledge to C++ coding, but in the long run, C++ is faster on Mobile Phones because it doesn't have to load up the same dependencies that the .NET CF has to.
If you were to want to learn a language for both PC AND Windows Mobile/CE, then C# is MOST DEFINITELY the way to go, since it has DECENT speeds on Mobile devices, and speeds good enough for most tasks on PCs.
Thats just my 2 cents. And if you ever need any help with C#, feel free to contact me. Look at some of the apps I have made, and if any of them interest you, PM me about the source, I may be able to help you out!

Thanks for the advice guys. Im going to take a look into both of the suggestions and see if I can have a bit of fun.
@Cyclone.... I will certainly take a look at some of the apps you have created, and the point that you brought up about programming for both desktop and mobile has interest for me.
Thanks again for the responses guys.

Why would you program an app like that? don't you have an calculator?!
but it is really easy and you only need the very basic operations. use float datatypes and remember that 15% of X is (x/100)*15 and you are done
'If you use the MS Visual Studio Express 2008 you get a visual gui designer.
greetz

use Excel , its more simple for your job

Cyclonezephyrxz7 said:
I agree that C# is a very easy to learn language for people enterring the developing 'world'.
I started by learning C#, however, as helpful as it was in terms of understanding coding, I do regret starting with it. I personally feel, learning from my 'mistake', that learning C++ would have been a greater thing to do FIRST. It is a large jump to go from little/no knowledge to C++ coding, but in the long run, C++ is faster on Mobile Phones because it doesn't have to load up the same dependencies that the .NET CF has to.
If you were to want to learn a language for both PC AND Windows Mobile/CE, then C# is MOST DEFINITELY the way to go, since it has DECENT speeds on Mobile devices, and speeds good enough for most tasks on PCs.
Thats just my 2 cents. And if you ever need any help with C#, feel free to contact me. Look at some of the apps I have made, and if any of them interest you, PM me about the source, I may be able to help you out!
Click to expand...
Click to collapse
+1 on this. C# is very easy to learn, but now I'm having some areas that the .NETCF doesn't cover so I'm in the process of learning C++. And I can def say it would have been a big leap to start with C++, but it makes a great foundation to learn other languages, cuz you know what's going on "behind the scenes" so to speak.

Having that been said, if anyone is in the learning process of C++ and would like some assistance, you can contact me, and I will be glad to try ot help where I can (Maybe we can learn something from eachother haha).
But yeah, I am re-doing my Fake FingerPrint Lockscreen app in C++, and it runs SO MUCH MORE SMOOTHLY! Not even kidding, I made a build that goes on my SmartPhone (non-touch) and everything just looks better! So really, do consider C++...

brandi said:
Why would you program an app like that? don't you have an calculator?!
but it is really easy and you only need the very basic operations. use float datatypes and remember that 15% of X is (x/100)*15 and you are done
'If you use the MS Visual Studio Express 2008 you get a visual gui designer.
greetz
Click to expand...
Click to collapse
You can't develop for Windows Mobile 6.x using the free (Express) Visual Studio versions! (i.e. a commercial one or SharpDevelop)
And I recommend starting with C#.
(When you're at the point that you think C#.net is too slow then either you're still learning or you'll be experienced enough to change to C++ easily. )

Cyclonezephyrxz7 said:
Having that been said, if anyone is in the learning process of C++ and would like some assistance, you can contact me, and I will be glad to try ot help where I can (Maybe we can learn something from eachother haha).
But yeah, I am re-doing my Fake FingerPrint Lockscreen app in C++, and it runs SO MUCH MORE SMOOTHLY! Not even kidding, I made a build that goes on my SmartPhone (non-touch) and everything just looks better! So really, do consider C++...
Click to expand...
Click to collapse
Rock on! Yeah right noI'm jsut getting my feet wet in C++, but I'm sure that shortly down the road I'll be working on learning it more in-depth. It is def much faster at runtime than .NET.
Thanks!!!

Native code?? Why??
kliptik said:
Rock on! Yeah right noI'm jsut getting my feet wet in C++, but I'm sure that shortly down the road I'll be working on learning it more in-depth. It is def much faster at runtime than .NET.
Thanks!!!
Click to expand...
Click to collapse
Hey guys
I recommand clearly .net developement! On desktops .net code is optimized on the target pc - c++ is compiled on that pc where you coded it. So .net is not any more slower than a native app - in some cases the target-optimation causes more powerful code as the native one.
Even on winmo the code is not slow (you don't feel the difference beetwin managed and unmanaged). Clearly, the .net gdi is slow and has not very much caps... But there are simply ways to access Open GL ES and programming is damm more easy than c++.
And last but not least: WinMo 7 apps are written with the XNA Game Studio or Silverlight - that means you'll code in managed c#!!
So get started with C#!!!
Chabun

thanks for this link

chabun said:
Hey guys
I recommand clearly .net developement! On desktops .net code is optimized on the target pc - c++ is compiled on that pc where you coded it. So .net is not any more slower than a native app - in some cases the target-optimation causes more powerful code as the native one.
Even on winmo the code is not slow (you don't feel the difference beetwin managed and unmanaged). Clearly, the .net gdi is slow and has not very much caps... But there are simply ways to access Open GL ES and programming is damm more easy than c++.
And last but not least: WinMo 7 apps are written with the XNA Game Studio or Silverlight - that means you'll code in managed c#!!
So get started with C#!!!
Chabun
Click to expand...
Click to collapse
I entirely disagree.
By coding using the pre-made Managed Libraries in the .NET Framework, you are making an app that, when run each time, has to load up those "immense" DLL's and access them for practically every function it does. And if you want to go beyond the basic abilities of C#, you have to start importing DLLs to use. However, in C++, as I understand it, the code is being generated based on the Header files on the computer, and the libraries. I find that C++ apps can be larger in size because more of their functions are 'internally' coded.
Sure, a C# app can be just as fast as a C++ app if the developer has no idea how to write a C++ app (no optimization or memory management), but that is exactly the reason to start with C++, to get better! A skilled C++ developer can create programs that run distinctly faster than C# applications.

Cyclonezephyrxz7 said:
I entirely disagree.
By coding using the pre-made Managed Libraries in the .NET Framework, you are making an app that, when run each time, has to load up those "immense" DLL's and access them for practically every function it does. And if you want to go beyond the basic abilities of C#, you have to start importing DLLs to use. However, in C++, as I understand it, the code is being generated based on the Header files on the computer, and the libraries. I find that C++ apps can be larger in size because more of their functions are 'internally' coded.
Sure, a C# app can be just as fast as a C++ app if the developer has no idea how to write a C++ app (no optimization or memory management), but that is exactly the reason to start with C++, to get better! A skilled C++ developer can create programs that run distinctly faster than C# applications.
Click to expand...
Click to collapse
Hey
Calm down. I also know c++ and i coded some apps in it.
Of course you have to import some dll's managed or unmanaged, but where's the difference to import any header file?? I still use some c++, no c - for real low capable hardware (a robot) where no other compiler is avaible...
But ispartacus75 has asked for some tuts and help to get started and we won't start a fight c++ vs. c#, will we?
But I'm still recommending c#...
Chabun

I'm also learning C# and a little C++ (for Windows and Widows Mobile) with the MSDN resources and I'm only 12

tayler900 said:
I'm also learning C# and a little C++ (for Windows and Widows Mobile) with the MSDN resources and I'm only 12
Click to expand...
Click to collapse
Mad props!!!

If you want to make a nice GUI, use QT!
Say no to C#! Blah it is no good. Go with C++ all the way. You won't regret it.
Anyway, go to Qt.nokia.com and get into Qt. There is a lot to learn at first but it will pay off for any c++ developer. It is free and you can develop for winmo 5.x-6.5.x. Also using QtDesigner you can build the Gui without writing a single line of code. Let me know if you want an example I can whip this up in no time.

Hi all.
After a lot of searching around, and reading tutorials etc I decided to go with C++ to start off with.
Someone asked why I wanted to do this rather than just use a calculator or an Excel sheet. I wanted to do it simply to see if I could. I have a couple of little projects in mind and if I could sort this one out I might be able to have a go at the others.
So far I have downloaded Code::Blocks as the compiler, seems to do the job so far. I have also written the code for what I want:
/* This program is designed to calculate the number of points available in a poker
league game, and then divide the points up for the 6 players on final table. This
is based on the following percentages;
1st place = 40%
2nd place = 20%
3rd place = 15%
4th place = 10%
5th place = 8%
6th place = 7%
*/
#include <iostream>
using namespace std;
int main()
{
int players = 0; //number of players in the game
int x = 200; //number of points generated from each player
cout << "Number of players?" << endl; //requests total number of players
cin >> players; //user specifies number of players
int total = players * x; //calculation for number of points available in the game
cout << "Total Points = " << total << endl; //reports the total number of points
cout << endl; //line spacer
/* The next section calculates the points for each place 1-6 based on the above percentages
and then reports those points to the user */
int first = (total/100)*40;
cout << "First Place = " << first << " points" << endl;
int second = (total/100)*20;
cout << "Second Place = " << second << " points" << endl;
int third = (total/100)*15;
cout << "Third Place = " << third << " points" << endl;
int fourth = (total/100)*10;
cout << "Fourth Place = " << fourth << " points" << endl;
int fifth = (total/100)*8;
cout << "Fifth Place = " << fifth << " points" << endl;
int sixth = (total/100)*7;
cout << "Sixth Place = " << sixth << " points" << endl;
return 0;
}
Click to expand...
Click to collapse
At the moment this seems to be working. I press F9 and it will run the program exactly as expected.
I now have the .exe, but when I run it the window closes as soon as the calculations are complete. How can I sort this before continuing on with the project?
Next step is the GUI (I think, kinda gone head first into all of this), so want to get this problem sorted first.
Thanks for taking a look

Related

Help for a beginner developer

Hi all, I've been using this forum for a few years and it's fantastic!
Anyway, I'm at University studying Network Management and this year I have to write my dissertation; a final year project.
For this, I've chosen to learn how to write and develop windows mobile applications and to develop an application that will update a user's facebook status with a URL to Google Maps, showing their location.
Now I've seen applications that can e-mail a URL of a google maps location but never one that integrates with Facebook..
Could anyone offer me some advice on where to start with WM development and any tips on writing the program I intend to create? I have a copy of Visual Studio and have a tiny bit of experience programming C++.
Any input is much appreciated! Thanks very much
Jamie
If your app is web driven, which it sounds like it is, drop the C++ and move straight to C# .NET. You can use C++ with the .NET CF framework but the casts one has use in order to get it to work, make the code hideously unreadable. C# is far more more appropriate.
Web .NET objects are quite easy to use, the problem appears when you try to decide exactly which object/class you require, then which of its properties to set, and then which of its methods to use to get it do what you want, the latter being further confused by which of its overloaded methods you should use. To summarize, the .NET CF framework is incredibly powerful, but at times confusing to the point of distraction, as there are several ways to do the same thing.
stephj said:
If your app is web driven, which it sounds like it is, drop the C++ and move straight to C# .NET. You can use C++ with the .NET CF framework but the casts one has use in order to get it to work, make the code hideously unreadable. C# is far more more appropriate.
Web .NET objects are quite easy to use, the problem appears when you try to decide exactly which object/class you require, then which of its properties to set, and then which of its methods to use to get it do what you want, the latter being further confused by which of its overloaded methods you should use. To summarize, the .NET CF framework is incredibly powerful, but at times confusing to the point of distraction, as there are several ways to do the same thing.
Click to expand...
Click to collapse
Agreed.
I just started with an C++ service. I'm getting there but man o man.

Wanting to learn the basics of programming

Hi guys, now I know this is a BIG request, but I was hoping someone might be interested in helping me begin to learn the different aspects of programming.
Now I know I cant just "hop on the band waggon" I need lots of training before hand in different programing languages, but the one I really want to understand is c# (thats what most windows mobile apps are built on right?)
So are there any really good recomended beginners guide you guys could suggest to me to get me started.
Sorry I must sound like I dont have a clue xD
(well I dont)
Thanks in advance
Hop on the band waggon? I guess you'd rather have to jump in cold water!
I suggest buy a book. If you actually spend the money on it then it's bigger motivation to make something out of it. There's even a book about Windows Mobile .NET programming. What else could you ask for? I don't have the link at hand but you should easily find it on Amazon.
RAMMANN said:
Hop on the band waggon? I guess you'd rather have to jump in cold water!
I suggest buy a book. If you actually spend the money on it then it's bigger motivation to make something out of it. There's even a book about Windows Mobile .NET programming. What else could you ask for? I don't have the link at hand but you should easily find it on Amazon.
Click to expand...
Click to collapse
Hey thanks for the speedy response,
are you refering to this?
http://www.amazon.co.uk/Programming...=sr_1_1?ie=UTF8&s=books&qid=1264201954&sr=8-1
It looks pretty nice, and will it teach me the basics?
yes, for example. or this one:
http://www.amazon.co.uk/Microsoft®-NET-Compact-Framework-Reference/dp/0735617252/ref=pd_sim_b_5
If you are really looking to learn programming, I would suggest against starting with Windows Mobile development. .NET framework for Windows Mobile is very lacking, and in order to do even simplest things you end up using Interops (way of calling native libraries written in C++) or searching/writing libraries on your own.
.NET (and C# by extension) is a multi-platform framework. Start with simple Windows or Web development. Read up on OOP development, find some simple examples online and start a very small, easy to write project.
Once you can write some simple applications for Windows or Web, then you might want to start looking into Windows Mobile development.
Before you start spending money on books try Microsoft's Beginner Developer Learning Centre a go. There are lots of video tutorials which will help you get the basics down http://msdn.microsoft.com/en-us/beginner/dd435692.aspx.
It's not specifically for windows mobile development, but most of what you will learn is transferable.
Once on the website, click "Windows Track" and then "Tier 1", tutorials are available for both C# and VB.NET.
The guy that made the BDLC tutorials for Microsoft also runs http://www.learnvisualstudio.net/, there are a few more free tutorials there too on more advanced topics, a subscription to the site will let you get all the videos.
And look for open source applications like "ReRemind", "Freda" or "RemoteTracker". If you debug these you can learn alot.
ajhvdb said:
And look for open source applications like ... "Freda" ... If you debug these you can learn alot.
Click to expand...
Click to collapse
No No No please don't use Freda as an educational example It's the first .NetCF app I wrote and I really am not very proud of some parts of it. In particular, I only figured out the right pattern to use for 'settings' forms after I had written several already. Some day I will go back and tidy up the code and document it properly. But right now I am still adding features ...
Jim
dont worry, if i look at my old code it's bad too but still works

Simple Progrqamming Languages/environment ????

I want to program simple applications, one or two screens, a few input boxes, simple graphics, display the output. Compile to an .exe. I "sorta" program, I can do a lot in Excel VBA, can't do C++ never tried Java or others.
Are there any easy to use programing languages (and environments) that would do what I need?
I look forward to you insight.
Nick
.net IDE
maybe get a copy of visual studio, it's pretty easy to create a simple forms app in VB.net or c# with it.
Thanks for the reply...
Do you need "Visual Studio"? Or will Visual Basic 2008 work?
Are there free Visual Studio versions? If so, I haven't found the right link yet.
Nick
C++ and Java are similar and easy to pick up, and java is even based off c++, personally I use codeblocks as my IDE, but there are many others to choose from
nkemp said:
I want to program simple applications, one or two screens, a few input boxes, simple graphics, display the output. Compile to an .exe. I "sorta" program, I can do a lot in Excel VBA, can't do C++ never tried Java or others.
Are there any easy to use programing languages (and environments) that would do what I need?
I look forward to you insight.
Nick
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!
nkemp said:
Thanks for the reply...
Do you need "Visual Studio"? Or will Visual Basic 2008 work?
Are there free Visual Studio versions? If so, I haven't found the right link yet.
Nick
Click to expand...
Click to collapse
The free version is called Visual Studio Express
[Not allowed to insert links]
Go to: microsoft.com/express/Downloads
Search for Basic4PPC and try it. It has a similar interface to VS and much cheaper (there's a demo you can download so you can try out for yourself.) The language is similar to VB. The end result is an application written using Compact Net Framework.
Good luck
Thanks for the help folks ...
There area a lot of options listed in the sticky but the problem is that there is no evaluation of ease of use.
- I did download basic4ppc and it seems easy enough to use ... for a fee
- but you don't know that until you download (unless you click through to the wiki)
- I downloaded SharpDevelop but have not been able to figure out the code (poor documentation and dead links to things like the C# book)
- Next I'll try FBA Creator
Nick
Later ..... So I tried FBACreator and a lot simpler ... but no no way to graphically design the screen like basic4ppc or SharpDevelop.

[REQ] Beginning WP7 Coding - Need some help

I have been coding on WM 6.x and the CE lineup for years. Done it on VB.NET. Now, with the iteration of WP7, I have migrated to the refreshing OS. But, I got the shock of my life when I opened VS2010 WP7 project...
XAML, Binding item, etc. I have never touched them before. Coding for the WM 6 was as easy as Windows Forms. If you get me. I gave up WPF because of the confusing stuff esp XAML. Borrowing a WP7 coding book frm the library didn't help. So now.. If there's any member who's willing to devote a small time to answer some of the coding difficulties (thru PM) as I code along, it will be great. Can't offer you much, though ...
Went through the same thing. I found the documentation on MSDN really useful. Also if you have a look on codeplex there are some samples and apps around that could be useful for you to look over. I would say don't be too scared by XAML its really good once you get used to it.
Also you might want to look at the new mango dev tools as they support developing in vb so you won't have to move to c sharp
arikyeo said:
I have been coding on WM 6.x and the CE lineup for years. Done it on VB.NET. Now, with the iteration of WP7, I have migrated to the refreshing OS. But, I got the shock of my life when I opened VS2010 WP7 project...
XAML, Binding item, etc. I have never touched them before. Coding for the WM 6 was as easy as Windows Forms. If you get me. I gave up WPF because of the confusing stuff esp XAML. Borrowing a WP7 coding book frm the library didn't help. So now.. If there's any member who's willing to devote a small time to answer some of the coding difficulties (thru PM) as I code along, it will be great. Can't offer you much, though ...
Click to expand...
Click to collapse
Same here, although i don't have any programming skills at all.
Any help/advice would be appreciated.
I can understand how going from WinForms to XAML/Silverlight would be a shock.
Strangely, my ASP.NET experience helped me to adapt to XAML - the concept of defining UI declaratively in the markup and having the code in a code-behind file is exactly the same in both.
If you've done any desktop WPF, it's the same concept as well.
In order to adapt from WinForms, think of it this way:
1) the design canvas - works similarly between either WinForms, WPF, Silverlight.
2) the declarative markup - similar in concept to HTML. In WinForms, the auto-generated InitializeComponent () in *.designer.cs is responsible for creating, initializing, and building the UI - in WPF/Silverlight the XAML serves this purpose, but is much easier to modify than the InitializeComponent method (which they tell you you shouldn't be doing).
3) the code behind - In WinForms, you have to open up your WinForms class in the code view, and you can code all the event handlers and whatnot. In WPF/Silverlight, this is in the *.xaml.cs, and is very similar to the WinForms codebehind.
I'd recommend going to create.msdn.com and start going through the tutorials.
Check this site Getting Started with Windows Phone.
http://msdn.microsoft.com/en-us/wp7trainingcourse_wp7gettingstarted_unit
Yes, MSDN, they have a on-line training to get your started, even your first "Hello World" app to try. I figure I will be going this route to get an idea of the tools then go deeper into reading coding just to get the fundamentals down.
It's the only way I could get started...
These videos are helpful
http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners
is there a german version too??
i need German language
styles89 said:
is there a german version too??
i need German language
Click to expand...
Click to collapse
Doesn't look like it, and besides nearly all programming is done in English.
Personally I can't stand using a Norwegian version of Windows, and others can't live without it.

[Guide] Easy Native Windows Development (N00b Friendly!)

Hello guys,
Today I'm going to provide an easy and step-by-step guide (With support) to develop your very own first native Windows app!
I'll also provide screenshots and code snippets, so it's easier to understand.
This guide and app will be written in the simplest language I know and I use, Microsoft Visual Basic. Now, before anyone starts hating; Visual Basic is a programming language which works with and on top of the .Net framework. As the name states, you can visually design your application and code it with very basic code.
Visual Basic is also very powerful, as it can be used to communicate with the Windows OS and with the computer's hardware (And especially COM ports)
This guide will focus on the use of the WinForms (Win32) API, so we won't be using any old command prompt (As I think tutorials using the command prompt are quite hard to understand and pretty stale)
#1. Prerequisites:​
Before we can begin creating our first app, you'll need some software:
Microsoft Visual Studio Express 2012 (For Windows Desktop)
Windows 7 or 8 (For Windows Vista-, you can use Visual Studio 2010 or earlier!)
A cup of your favorite hot beverage
Some patience
and courage
Once you have acquired all of those, you can start download- and installing the software (All other prerequisites are provided in the package), this is where your hot beverage will come in handy (Alternatively, you can go for a nice cigarette or for a quick pop-down-the-shop).
I decided to create a series of videos on YouTube, for this thread.​
So, here we go, I guess
Episode 1; Performance Counters and Progress Bars:
If the YouTube video is not visible/available, try watching it here: http://youtu.be/geePfZzjYCA
Episode 2; XDA-String-Loader:
If the video is unavailable, watch it here: http://t.co/LO1q1jTIfE
Downloads
Note: All downloads in this post are just VB source code. They are licensed under either GPL2.0 or GPL3.0 - So feel free to download, experiment and post what you've done!
GitHub Source Code Repositories: https://github.com/Beatsleigher/XDA_Visual_Basic_Tutorials/
Good Qs and As
This post is reserved for good questions and answers.​
User Contributions
This post is reserved for user contributions.​
Post your code and show the others what you have achieved!
Reserved..
--- Reserved ---
Reserved..
--- One more reserved post ---
develop your very own first native Windows app
Click to expand...
Click to collapse
Visual Basic is a programming language which works with and on top of the .Net framework
Click to expand...
Click to collapse
And there you go, feel free to experiment with this code and play around with it. It is licensed under the GPL v2, as of now. I will create more posts in this thread over time and add more projects for you to work on.
Click to expand...
Click to collapse
I'm crying blood, sorry D:
Yeah, you do kinda contradict yourself by calling it a native application and then using Visual Basic .NET (I must say, I have little faith in the tutorial being accurate if you cant even name the language properly). All .NET languages are run in a VM which by definition is not native I would hardly call it powerful either, it offers nothing that any other .NET language can't do faster and manages to **** things up in the process. Your statement about COM. Wtf??? VB.net makes COM access no easier or harder than anything else. The fact it is easy to access COM (which is something rarely used these days, although I do use it) is purely down to system.io.ports which is a generic .NET library and not a VB.net feature.
There is a good reason for command prompt based programs being the first step. They are simple. You dont have to worry about events and OOP programming early on. You can just sit down, learn wtf an integer is, bit of flow control and what iteration is etc.
SixSixSevenSeven said:
There is a good reason for command prompt based programs being the first step. They are simple. You dont have to worry about events and OOP programming early on. You can just sit down, learn wtf an integer is, bit of flow control and what iteration is etc.
Click to expand...
Click to collapse
And of course to use much simpler language, like Pascal. Console.ReadLine can confuse beginners.
Guys, maybe I... phrased things wrong.
It uses the .Net framework, but the language itself is native code.
The only things that run on top of the .Net FW are the new tools. Everything else is native code.
Whoops.
Beatsleigher said:
Guys, maybe I... phrased things wrong.
It uses the .Net framework, but the language itself is native code.
The only things that run on top of the .Net FW are the new tools. Everything else is native code.
Whoops.
Click to expand...
Click to collapse
you have just perfectly demonstrated that you don't have a clue what the .net framework is or how VB.net relates to it.
quick description of what really goes on when you hit F5 in visual studio (and for simplicities sake I am assuming we are in release mode not debug mode).
You hit f5.
The Visual Basic .net compiler analyses the source code, links it all up etc.
It then output MSIL. MicroSoft Intermediate Language.
The .NET framework is then a JIT dynamic recompiler (read, interpreter) which interprets the MSIL and executes the output.
It is not native code. The .NET framework is not just a set of tools.
only confusion which may arise is that .NET is now a part of the windows runtime, but it is not native any more than java is (same principal operation).
JIT compilation != dynamic recompilation != interpretation. Please don't confuse them.
JIT compilation ("Just-In-Time", what .NET and Java do, as well as recent JavaScript engines) takes data that is *not* machine code (it can be a binary intermediate language, such as Java bytecode or .NET Common Intermediate Language ("MSIL" is obsolete; it's a public standard now), or it can be normal source code, such as JavaScript) and turns it into machine code immediately before the program runs. This introduces a delay at program startup, but thereafter the program runs almost as fast as it would if written in C and compiled directly to native code.
Dynamic recompilation takes machine code for one processor, generally already loaded into memory for execution, and translates it to machine code for a different processor before it is executed. The translated machine code is then stored back into memory so that the next time that code would be executed (for example, if it's in a loop or a function that is called multiple times) it doesn't need to be translated again. Dynamic recompilation operates on machine code, which (unlike intermediate language) is processor-specific and is not intended to be further compiled; this makes it significantly slower in most cases. It's largely replaced outright emulation (in which an entire CPU's state is modeled on some other CPU, and each instruction is run through the emulated CPU unmodified) as a way to execute a program written for one instruction set architecture on another ISA because it's faster than emulation, but it's still very slow.
Interpretation is like emulation, except it operates entirely on instructions which aren't machine code at all; you can write an interpreter for intermediate language (and that's basically how early versions of Java worked), but it's typically used for script languages (until recently, interpretation is how JavaScript was executed). An interpreter is a program that takes the interpreted language and figures out what it means in terms the CPU understands, then does that. For example, a CPU doesn't understand that "+" means addition; to a CPU, + is nothing except a number, just like any other ASCII character. It's up to an interpreter to recognize that + is supposed to be an operator, and that the 1 and 2 in 1+2 are supposed to be operands, and that they need to be converted from ASCII characters to the actual values 1 and 2 (which aren't even printable values in ASCII) and then to do the operation and store it somewhere. As you might expect, interpretation is *extremely* slow.
thanks for the videos. don't let the trolls get you down!
squeezyb said:
thanks for the videos. don't let the trolls get you down!
Click to expand...
Click to collapse
No worries, man
I tend to ignore such posts, as I don't see reason to argue
CyanogenModded Very China-like, from my Samsung Galaxy S III
LG Familyguy59/Beatsleigher

Categories

Resources