Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have already used for a few months Fedora, Ubuntu, Backtrack 5 and Linux Mint.
I'm studying software development, and I like a lot Linux but I have some doubts.
Its possible to use c#, c++ and java in Linux? Or the only options is a virtual box with windows?
Which Linux you recommend me if I'm looking security (all linux are more secure than windows, so here is not problem) and be able to use programming languages and I like it to look cool (gnome)
Which Linux distro u recommend me to use as main OS and y? Thanks!
c++ and java certainly available. java looks quite similar (to the windows counterpart), c++ is a bit different (you will not find visual studio but eclipse on linux). c# also available, if you really need that.
From security side all the distros are (more or less) similar, the security depends on the admin. About look and feel you need to decide, I do not know what do you prefer, there are a lot of window managers out there...
I'm not an advanced developer but I konw a little in c++ which I've used code::Blocks in Linux. Works great for me. Eclispe is also nice.
As for security linux inherits a more secure nature than windows but it always come down to how the system is managed. Running the system as the root user on a daily bases like a typical windows user will find your self with a very big security whole. So just make sure you are using a non privilages or limited privilaged user.
As for how much more secure are distros I would say fedora would be the least secure by default since its a more streamlined system but that doesn't mean its not secure. It just has the potential of having more security holes since its not tested as long as some other distros. How ever if a security threat is find it is patch rather fast. Ubuntu roughly the same way. Again this is because they try to run the latest software as well. Distros like Debian stable have a chance of being even more secure due to its long testing stage. But at the cost of older software.
Bottom line all linux system can be secure if they are managed right. Great thing about popular opensource is more people see the code and patch the leaks.
So as for picking a distro is really comes down how you want to manage your system. Ubuntu was the easiest to get started but I think Mint is better than Ubuntu now. Fedora is pretty easy as well. They both provide easy packages managers. Debain based distros are bound to have more software targeted toward them.
First about your initial post. You enlist some programming languages but then ask about VMWare? They are totally unrelated. One thing is available programming languages and another is the environment/sandbox where the linux is run.
About programming, there are almost no languages that are not available in Linux. You can program anything in Linux but for C# programming the Microsoft world is preferred and native environment. While you can do C# (as a language) programming in Linux, you are not able to do .NET (as a framework) programming and that is only available in Windows world.
About distros. I would personally recommend something less fancy than Ubuntu/Mint. They are geared towards general consumer users who want the best possible user experience out of the box. For development perhaps Fedora, Debian or even Slackware are much better choices. You are closer to the system.
That is one of them and there are many more. I don't know how well they run or the support behind them. Personally IMO if you want to learn linux than forget about windows and learn linux.
The great thing about linux you can customize it to the way you wish. Pick your favorite desktop and build it to your lickings. Thats the great thing about linux and that there is no rules no limitiations. If you can do it. Nobody will stop you. Unless of course your hacking illegally or something.
But as wigry said ubuntu and mint are geared toward less technical linux users. If you want to get your system running the way you want it then pick distros like my personal choices Debian or Slackware,
Debian you have to do some configuringing but its package manager resolves dependices etc.
Slackware is very stable, geared toward the power user and is designed for a more advanced user. How ever with time and patiences its great for a new user to learn because they learn the linux way.
But pick the choice of distro that satisfies you and makes you happy.
Try to use the word "questions" when that is what you mean, rather than "doubts", especially since you have not indicated you are from India. "Doubts" has a significantly different meaning (I'm pretty sure not what you meant). When reading English from India, most of us have learned to translate "doubt" to "question", but it still can cause some misunderstanding.
Quote:
Its possible to use c#, c++ and java in Linux? Or the only options is a virtual box with windows?
It is certainly possible to use all of those directly in Linux without any involvement of Windows (virtual or otherwise). C++ and Java tend to be easier to use in Linux than in Windows.
Most actual use of c# is tied to Windows in various ways. If you aren't starting with existing c# code that is tied to Windows, I'm not convinced there would be any reason to use c# at all (but opinions clearly vary on that). If you are starting with a very Windows centric project in c#, using a VM might be a lot easier than porting.
Even in C++, you might be starting from an existing project that is Windows centric enough to make a VM easier than porting.
For new programming projects in C++ or Java, Linux is a great choice.
To return to security, Fedora is not the least secure. By default, it uses Security-Enhanced Linux: http://en.wikipedia.org/wiki/Security-Enhanced_Linux
As you see, that was developed by the US government: Linux for paranoids!
As for programming, that can be done in any distro. Remember that c# is a Windows thing. There is a replacement, the Mono project, but a lot of Linux users deprecate using that because it leaves you always playing catch-up with changes in a closed source application.
As you can see, I use CentOS: the good aspects of Fedora but no constant change or bleeding-edge software. Of course, that's one reason why other people like Fedora!
You should follow the link that DavidMcCann gave you regarding SELinux and you'll see that it is on more than one distribution.
Most programming languages are capable of being used with Linux. You certainly can do well if you take the time to learn C/C++, Python, and Java. They're all fairly similar, however what you get out of C is the capability to understand Linux kernel, drivers, and application programs. C++ will also be prevalent in a lot of application programs. Python I see more for scripts to accomplish something automated like testing. Java I see used a lot for user interfaces, but I use C++ for user interface programming as well. My bottom line there is that although I program user interfaces, I do so for custom systems and as a result the underlying applications program needs to be there before it can offer any information to the user interface. And likewise, the user interface inputs are a reflection of the capabilities of the application. Graphical artists create the pictures, icons, and derive the fonts and color schemes; programmers use those images to provide the user interface capabilities.
I'm not sure why you wish to focus on something merely because it looks cool. If you're studying software engineering, then what you really should concentrate on is learning how to architect programs. Yes, there's nothing wrong with making something look good, but if all it does it sit there and look good, then it's of little use to anyone.
Java is an undisputed king of serverside programming - the majority of commercial web (espicially all kinds of intranets and such) is powered by Java Enterprise Edition
Linux mint is a nice distro. Did you get the ubuntu based mint? I noticed Linux mint came out with Mint LDE. Based on Debian. So it has my interest. I've downloaded it and going to take it for a test spin. Just a theroy but I think they are getting tired of cleaning up ubuntus mess.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.