Where to start, coming from a Windows background?

General programming chat and advice for beginners

9 posts
by DaveSemm » Thu Jun 21, 2012 1:35 pm
I've been writing software for years on Windows, using Visual Basic and C#, with some JavaScript, but I am completely new to Linux (haven't seen it yet). I'd like to know if anyone can recommend what Linux distribution to use, and what development tools are the best, i.e. easy to learn from a VB/C#/Windows background, and can be used to build real world applications. I need to develop thin client apps which would have a basic graphical user interface, and would connect to a web service (a SOAP interface), and can connect to basic perpherals, e.g. USB printer.

I've just ordered my Pi, so I will only have it in about 10 weeks. I'm hoping to do some reading up in the mean time. Hopefully it will turn out to be not so difficult once I have it in my hands.

I'll take a look for Linux books at Amazon just now - can anyone recommend any?
Posts: 43
Joined: Thu Jun 21, 2012 1:16 pm
by Mikeyl » Thu Jun 21, 2012 2:05 pm
I am also new to linux having a windows and VB background.

I have been looking at Gambas which is a Visual Basic for Linux and very similar to VB in style and syntax.

Mike
Posts: 23
Joined: Wed Jun 20, 2012 11:15 am
by Giloux » Thu Jun 21, 2012 2:57 pm
I recommend Python for it' s fast learning curve, great community, fantastic standard library and also a lot of open source external packages.

It' s also a cross platform language, so you can develop your code for windows and linux.

To start, there's plenty of good stuff into the official website (python.org)
You can also find a good book, for example, you can look at dive into python.

Hope this helped.
Posts: 4
Joined: Thu Jun 21, 2012 8:53 am
by andyl » Thu Jun 21, 2012 3:05 pm
DaveSemm wrote:I've been writing software for years on Windows, using Visual Basic and C#, with some JavaScript, but I am completely new to Linux (haven't seen it yet). I'd like to know if anyone can recommend what Linux distribution to use, and what development tools are the best, i.e. easy to learn from a VB/C#/Windows background, and can be used to build real world applications. I need to develop thin client apps which would have a basic graphical user interface, and would connect to a web service (a SOAP interface), and can connect to basic perpherals, e.g. USB printer.

I've just ordered my Pi, so I will only have it in about 10 weeks. I'm hoping to do some reading up in the mean time. Hopefully it will turn out to be not so difficult once I have it in my hands.

I'll take a look for Linux books at Amazon just now - can anyone recommend any?


OK - so thin client you are looking at web technologies.
You can do the server side stuff (the web service) in nearly anything.

For the client I would be looking at pure javascript.
For the server side you could use javascript (using node.js - not sure if it is in wheezy (it isn't in squeeze), but can be compiled). Or you could use Python or any of a number of languages.

It is also possible to write the server side stuff in C# - but Microsoft technologies are typically not the way many unix applications are built.
Posts: 265
Joined: Tue Jan 10, 2012 11:05 am
by DaveSemm » Fri Jun 22, 2012 8:31 am
Thanks for the tips. I never heard of Gambas - it looks like the easiest way for a VB coder. I found this screenshot of Gambas running on a RaspberryPi: http://gambas.sourceforge.net/raspberrypi.png.

I've been curious about Python for years but never looked at it; I will get a book and try it out.

@andyl, thanks, I'm sorted on the server side (I create servers using Asp.Net), I'm just looking for low cost clients. The RaspPi will be my way of learning Linux. I do a little javascript on my clients to supplement the VB/C# code. I've never thought of doing the entire client in javascript. I will look into that.

Looks like I'll keep busy while I wait for my Pi to come!
Posts: 43
Joined: Thu Jun 21, 2012 1:16 pm
by ghans » Fri Jun 22, 2012 9:47 am
If you are into "real" C (according to ISO) , Linux is a wonderful platform.
For GUIs , you should look into Qt5 (which was originally advertised by the foundation).
Then there is of course wxWidgets and GTK.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org
Posts: 4529
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany
by Pirx-Danford » Fri Jun 22, 2012 10:53 am
Linux is all about choices, so be prepared for a lot of options to chose from in regards to nearly everything.

At the core of Linux is the Kernel, but around that the choices already start.
An operating system without any applications is quite useless, but the way those applications are installed is approached very differently in the many Linux distributions.

For someone that is at the beginning of his path I would strongly recommend a distribution based on Debian, because the package format and handling is quite easy.

So I suggest two things you could do right now:
1) Get a Live-CD or USB stick version of Ubuntu
http://www.ubuntu.com/download/help/try ... ou-install
and look at what you can do with it. Ubuntu is based very much on Debian and having a Live-CD/USB-stick comes in handy if you wanna take a look at a computer with a broken OS.
You can do lots of things on a machine without actually having to install an OS, which is cool and practical.
2) Get the Debian system from here
http://www.raspberrypi.org/downloads
and set it up in a virtual machine in virtualbox
https://www.virtualbox.org/
which is also cool because you can run nearly any OS as virtual computer on any OS there is a Virtualbox for.
So in this virtual installation you can try out the different things for realsies, its just like if you would be there, except you ain't ;-)

HF and godspeed!
Posts: 62
Joined: Thu Oct 06, 2011 2:05 pm
by Chris_Reynolds » Fri Jun 22, 2012 11:48 am
And if you hanker for your .NET days then remember that MONO works really well on the Pi.

After reading advice elsewhere on the forum I found you can build a .NET console app under Visual Studio and copy it to the Pi where it will run perfectly. You can build MONO apps on the Pi too, I've got geany (an IDE you'll find on the debian builds) set up to build C# projects.

But, as others have said, the Pi is also a great chance to play with how things are done elsewhere and C and Python are great for this.
Posts: 68
Joined: Mon May 14, 2012 7:25 am
by dmroeder » Sun Jun 24, 2012 3:27 am
I too come from a windows/.NET background. I'd recommend running Linux Mint in VirtualBox on your windows machine to test the waters.

As for programming, I have been going the Python route. Check out the book Learn Python the Hard Way. The HTML version is free and the PDF version is $3 (which I picked up). You'll pick it up pretty fast.
Posts: 3
Joined: Sat Jun 23, 2012 1:52 am