I am a newbie Linux user who came from 10 years using windows OS, and developing in Microsoft languages.
I want to have a good experience in Linux world and developing on it.
First, I want to learn how to use this new OS, then how to start developing on it, I am interested in web applications, specially using Java/PHP because I have some experience in both and it will be a good start.
Second, I want to learn how to develop on it.
Are there any video tutorials to give me a good starting push?
any recommended books or references?
I would recommend you install a the JDK if you are doing Java development. Look here for instructions on using apt to install the sun JRE.
Also make sure you install php and Apache, here are some instructions.
That should get you running far enough to make videos, etc useful.
- Java Antipatterns – Learn what not to do in Java.
- Apache Commons – Get libraries for common tasks in Java.
Ubuntu Pocket Guide
If you’re new to Linux, I’d suggest you look at the Ubuntu Pocket Guide. It goes through basic stuff that any user would want to know – window management, system configuration, etc, as well as some historical background on Linux and Ubuntu. You can skim through that and learn a bit.
Towards the end, it also explains the basics of bash, which is the Linux command line. That part is interesting – you can do a lot more in bash than you can do in the Windows command line. For example, you may be familiar with this Windows idiom:
dir > directorylist.txt
…which means, “list the contents of this folder, and instead of showing the output, put it in this file.”
In Linux, you can do that, and you can also do piping, where you direct the output of one command into another. For example:
ls | grep foo
means “list the contents of this folder, and search through the output for the regular expression foo.” You can add as many pipes as you want and use a variety of commands.
You can also use brace expansion to run multiple commands in sequence. For example,
will create directories called photos_france, photos_spain, and photos_italy.
If you’re going to be developing in Linux, you should invest the time to read some tutorials on bash to take full advantage of it.
Since both Java and PHP are cross platform, it seems your biggest task would be to familiarize yourself with GNU/Linux and tools related to web development, apache web server in particular. Here are a few things google gave me:
Lazarus allows you to develop using Object Oriented Pascal, across Linux, Windows and MacOSX and produces natively compiled executables on each target platform.
Natively compiled executables are generally much faster than interpreter based apps (i.e. Java, C#, PHP).
Lazarus use a component and event based approach to development which allows you to design GUI by dragging and dropping components on a Form Designer, which then are hooked through events.
Good luck with your programming adventures!
Ubuntu Kung Fu might be a good start.
Java development is something you can do with ease using Eclipse on Linux. PHP development is more or less the same as on Windows. Use a good text editor to write the PHP scripts.
Installing the required tools might differ from how it’s done on Windows, but both PHP and Eclipse are available as packages in Ubuntu.
If I was to recommend one thing, it would be that you must learn to love the shell. It takes time to feel at home in, but it’s well worth it.
On a related theme – You might want to consider using emacs or vim as your editor, but that’s more of a personal preference thing. Some people just like IDE’s better.
You should probably focus on PHP, rather than Java. It’s easier to get started with and it’s much more true to the Linux tradition (Whatever that means) than Java is.
Eclipse should run fine in Ubuntu.
Try some Java development in it to get yourself started.
If you want to get your lamp setup pretty easily, you can take a look at Zend Server Community Edition. http://www.zend.com/products/server/downloads-all