How do I start programming for Linux?

ar81

Active member
Joined
Jun 19, 2008
Messages
2,357
Reaction score
8
Points
38
Location
Costa Rica
Website
www.orbithangar.com
Visual Basic works for Windows only.
I foresee people moving to Linux and I might like to learn so I can make addons of Linux.
I do not know a bit about Linux.

Is there a way to create a virtual machine with Linux?
Where do I get Linux?
Is there any tutorial for newbies to learn about the basics of how to use?
Is there any programming language for Linux?

If Orbiter moves to Linux some day, I would like to keep having stuff that people can use.
 
Visual Basic works for Windows only.
I foresee people moving to Linux and I might like to learn so I can make addons of Linux.
I do not know a bit about Linux.

Is there a way to create a virtual machine with Linux?
Where do I get Linux?
Is there any tutorial for newbies to learn about the basics of how to use?
Is there any programming language for Linux?

If Orbiter moves to Linux some day, I would like to keep having stuff that people can use.

You can download the Ubuntu Live CD for installation here: http://www.ubuntu.com/

Alternatively you can get the Vmware player here:
http://www.vmware.com/download/player/download.html

Then find a virtual appliance here to be used with Vmware player:
http://www.vmware.com/appliances/

Nearly all linux distributions come with a C compiler. In order to do GUI programming, you will be using the gtk graphics library.
 
Is there a way to create a virtual machine with Linux?
Where do I get Linux?
Is there any tutorial for newbies to learn about the basics of how to use?
Is there any programming language for Linux?

If Orbiter moves to Linux some day, I would like to keep having stuff that people can use.

To give an overview, Linux is a OS kernel from UNIX class. All microsoft PC operating systems (OS) share similar design and commands, similarly, all UNIX class OS share their own basic design.

"Linux" is commonly used as a name of the system, but it is only the kernel - a main part of OS. Unlike Windows series, Linux does not come in few pre-packed products (Win 98, Win XP, ...), and can be assembled out of different set of programs and components by advanced users. For newbies and common users there are many pre-composed distributions, like Ubuntu computerex given a link to.

To learn the basics, just look for some "Linux for dummies" kind of book, or sites like http://www.linux-tutorial.info .

Linux is an open-source system. The kernel is written in C and the applications are written in either C or C++. The C and C++ compiler, GCC (GNU C Compiler, lately GNU Compiler Collection), is available in any serious distribution. Other languages can be used too, but C is the preferable one, as the whole is written and designed for it. I haven't heared about visual basic compiler for it, but it could exist.

Programs are not made in programming languages, they are made using programming languages. So, it will be a good idea for you to get used to a better tool than visual basic, especially if you are going to write programs for Linux.

As the virtual machines are concerned, VMWare player is as good a choice as Qemu, first is semi-commercial, second is free and OSS. What to download on virtual appliance page depends on what do you need a virtual machine for.

EDIT: Looking closely i think you meant a virtual machine with Linux in it under Windows?
Then http://www.vmware.com/appliances/directory/1224 (VMWare player appliance) or similar to it should fit your need.
 
Is there a way to create a virtual machine with Linux?

Yes, we use them at uni all the time.

Where do I get Linux?
Google will point you towards about 15.5 million places.

Is there any tutorial for newbies to learn about the basics of how to use?
Yes, google has 962000 of them.

Is there any programming language for Linux?
Yes, several hundred. C is probably the most popular though.

Programs are not made in programming languages, they are made using programming languages.

They're made in gedit.:lol:
 
Hy Pablo,

IIRC, you are into Visual Basic. Assuming you've converted to VB.NET, too, I'd recommend taking a look at Mono. You can get a VMware-Image (click on VMware) there with everything in place on a Suse-Distro, even a Visual-Studio-like IDE (MonoDevelop). I'm sure it will look familiar...

The best thing about this approach: you can easily make portable apps, e.g. develop in Linux and use it with Windows and vice versa.

If you're serious about coding native apps for Linux, you'd have to learn C++ and how to use gcc, makefiles, etc.

regards,
Face
 
For "newbie" questions about Linux (and programming in Linux), you can go to a website like http://www.linuxquestions.org. The questions you have are usually questioned by a million people before you, so you can often find the answers in the existing threads.

You're about to make the same change as I did about 10 years ago: from Visual Basic to Linux programming. The real professionals in Linux programming often use C and C++. They are fast languages if you know what you're doing, but they're hard to learn, and there are thousands of mistakes you can make. It will probably take several years to master them, but in the end you can make whatever you want to make.

There are also other programming languages. Recently I started using Python for a certain project. Python can be a bit confusing for a beginner (but so are C and C++), but in my experience it's easier to find the problem in a Python program, which is important for a beginning programmer (and in fact for any programmer). Python is an interpreted language, but it's reasonably fast, and it has lots of toolkits (like for making GUIs, or even OpenGL).

Finally, there are some good Integrated Development Environments in Linux. I really reccommend using one of them.
 
At home I have modem, and at work I am not allowed to make big downloads, so I asked for some help with the download to my brother. Just like with my other projects, learning Linux will not happen in split seconds.

To me the whole change from VB to Linux seems a bit scary, but necessary.
Risk of obsolescence of what you code for Windows and lack of backward compatibility they use to have, plus the increased inefficiency of newest MS products are making me to make that decision. I have many games that use DOS Run protected mode and games that use DirectX prior to 5 and they do not run... That is pretty annoying. The only reason why I used Windows was to play my games.

If the increased inefficiency and incompatibility is part of an agreement with hardware manufacturers or not, I do not care anymore. My computer can't run Vista, so I would be forced to move to Linux if XP becomes outdated. Years ago when I bought my computer I had one of the best computers you could ever have.

Today I make tools for orbiter and people ask about problems in Vista and I am unable to provide support, and that's annoying. I have used the minimum requirements, to make sure that they would run in almost any computer. It seems that MS products could not longer supporting themselves. I learned that DAO objects (which are MS invention) are to be discontinued, for example, so thanks Lord I am not using databases in my apps...

For some reason I anticipate that Linux is the future, not MS. At least for me. Does Microsoft think they are forcing me to make an upgrade? Not anymore. The only reason to stay with them was my games.

And they are lucky about the fact that I am not a commercial programmer, for if I was I would move to Linux at once due to the risk of obsolescence that Microsoft products offer.

I think it could be a good option to think about making Orbiter to run under Linux too in the near future.
 
Yes, it will take some time to learn, and if you think Linux is the future, you can see it as an investment. But nobody really knows for sure what will happen in the future.

Personally, I really like Linux, but I know a lot of people who don't, and rather stick to windows. I think that free software will be the future if we continue to live in a free world, where we are free to make our own software (without restrictions) and choose the software we want to use. In the end, commercial software simply won't be able to compete. I consider this to be A Good Thing.

Linux(*) is a very complete free operating system. But maybe Linux won't be the winner on desktop computers in the end. If the differences between the windows NT architecture and the UNIX architecture turn out to be essential, then maybe a system like Reactos(**) will win, once it's finished, because it works just like windows.

About Orbiter on Linux: I think there's already another thread with that subject.

(*) I mean a complete Linux-based OS distribution, like Ubuntu, not just the bare "Linux kernel".

(**) In short: Reactos will be to windows what Linux is to UNIX: a free and open source system that is completely compatible with the commercial software.
 
Learning about Linux is a must if you think you're ever going in the server business. It's a cool thing to know if you're into C4N6 (computer forensics) as well. Many embedded systems are also Linux-bases.
As for "Linux is the future, MS is the past", if I had a cent for each and every time I've heard or read this sentence and countless variations, I would be running my own space agency and I could afford hyperdrives.
 
As for "Linux is the future, MS is the past", if I had a cent for each and every time I've heard or read this sentence and countless variations, I would be running my own space agency and I could afford hyperdrives.

You must be very old then:

  • NASA hasn't built any hyperdrives
  • They probably would if it were possible and they had enough money
  • NASA gets how much? More than 1 000 000 000 per year in the last 50 years? Obviously that isn't enough for hyperdrives.
  • So, NASA would have needed more than 50 000 000 000 dollar for a hyperdrive
  • Let's say you are 100 times more efficient than NASA, then you'd still need at least 500 000 000 dollar
  • So, you've heard this sentence for at least 50 000 000 000 times.
  • When I say it very quickly, I can maybe say it in 1 second. So you've been hearing this for at least 50 000 000 000 seconds,
  • which is more than 1500 years.
wow...
 
"Linux is the future, MS is the past"

For me this is going to become reality. There are only a very few reasons for me to run Windows as the 'second' operating system meanwhile. It's just because of Orbiter (as well as Space Shuttle Mission 2007), the development of Project Apollo - NASSP an MS Flight Simulator. But even MS Flight Simulator is going to be the past for me since there is nothing more realistic as X-Plane you can get on a home PC (and X-Plane 9 even beats FSX by far physically and also graphically meanwhile). And X-Plane even is designed to run on Linux perfectly... :)

The latest Ubuntu can't be beat anymore by Windows in my point of view. Just a very few years ago I was thinking a different way when I started with Suse and Ubuntu. But today installing and set up Ubuntu just takes only about one third the time you need for Windows Vista or XP. If you have to install the latest graphics driver it's done by just one click using 'Envy'. You don't even have to visit the home page of Nvidia. You'll get the latest driver automatically. Ubuntu today is a real multi tasking and multi media operating system other than Windows. And not to talk about the great performance and the look of it when using compiz, which is just amazing. Windows just is nothing anymore compared to the latest Ubuntu. And the final decision for me: its all for free :beach: (now I hope that OpenOffice will be able to hold a candle to MS Office 2007 in future, which indeed is the winner at the moment)

!Too bad Orbiter isn't running on Linux!

[ame="http://de.youtube.com/watch?v=JI-ye1oa4N8"][/ame]
 
Moonwalker, have you ever tried to get three monitors working simultaneously in any linux distro? I use Ubuntu and have two video cards in my primary machine. One is an ATI Radeon 2600 dual head (so, two monitors) and the other card is an ATI Rage XL PCI, for a total of three monitors. In windows XP, both cards are recognized and I have a three monitor setup. In Ubuntu, I can get either card working individually using the fglrx driver, but I can't get both running at the same time. I'll post my X config file if you feel like taking a look.
 
Looks like either Linuxquestions.org should have an Orbiter section, or Orbiter-Forum should have a Linux section LOL
 
Back
Top