PDA

View Full Version : computer programming and Ubuntu



iluvrockii
July 21st, 2012, 05:53 PM
Hey.. I'm changing my major in college to Computer Programming so I'm shopping around for a laptop for school. I'm relatively new to Linux,Ubuntu but I'm enthusiastic about diving right in. Do you think that having a laptop with just the Ubuntu OS will conflict with my programming classes (I'm thinking software or something that won't have me in sync with the teacher or other classmates)? I was thinking of getting a system76 or just wiping away windows on new laptop, but would also consider settling with dual boot if you think that is a better option, thanks.

Bachstelze
July 21st, 2012, 06:01 PM
It depends on the particular school/class. Some are Unix-centered, and you will be fine with just Ubuntu, but some are Windows-cetered, and that might be a problem. You can always run Windows in VirtualBox but that's often unconvenient, so dual-booting might be a better choice.

So basically: ask around to know what the classes are like and which software is used.

TiBaal89
July 21st, 2012, 06:07 PM
I am in Computer Science and all the machines in my department are, nearly all of my professors use, and most of my classmates primarily or exclusively use Linux. Most of those that don't use Macs for the similar command line functionality.

If you're studying programming in general, a Linux machine will be perfect. This is its strong suit.

It is possible that a class is on a subject matter like .NET languages or something that you would need Windows. You would know this well in advance, of course. In general - go for it, it's great fun and familiarity with *nix systems can help advance your programming.

codemaniac
July 21st, 2012, 06:12 PM
It is possible that a class is on a subject matter like .NET languages or something that you would need Windows.

Still Linux has something for you in her magic box .MonoDevelop enables developers to quickly write desktop and ASP.NET Web applications on Linux .

http://monodevelop.com/Download

iluvrockii
July 21st, 2012, 06:45 PM
Thanks alot guys, The virtual box suggestion sounds ok, but i don't think i'm cool with spending beaucoup cash for windows 7, which i think i might have to do. i may just dual boot even though id rather not, for some reason.

The courses are on this site if you don't mind looking at them:

http://www.palmbeachstate.edu/x3223.xml?id=56
(http://www.palmbeachstate.edu/x3223.xml?id=56)

TiBaal89
July 21st, 2012, 07:06 PM
Still Linux has something for you in her magic box .MonoDevelop enables developers to quickly write desktop and ASP.NET Web applications on Linux .

http://monodevelop.com/Download

Correct! And very cool. I've not taken any kind of .NET class myself, I don't know if covering the IDE is part of the curriculum.

[QUOTE=iluvrockii;12121085http://www.palmbeachstate.edu/x3223.xml?id=56
(http://www.palmbeachstate.edu/x3223.xml?id=56)[/QUOTE]

C, C++, Java, networking, data structures... you'll be fine. Ask about the Visual Basic classes if you choose to take them. Other than that I'd encourage you to dive in. I did so maybe 6 years ago, it was rocky at first but the rewards at this stage have been monstrous.

Bachstelze
July 21st, 2012, 07:57 PM
The problem is not really in the language. Even if you do just C, if the class files use the Win32 API, or even if they are distributed as Visual Studio projects, converting them to Unix might be more trouble than it's worth.

DarkAmbient
July 22nd, 2012, 09:06 PM
Hey.. I'm changing my major in college to Computer Programming so I'm shopping around for a laptop for school. I'm relatively new to Linux,Ubuntu but I'm enthusiastic about diving right in. Do you think that having a laptop with just the Ubuntu OS will conflict with my programming classes (I'm thinking software or something that won't have me in sync with the teacher or other classmates)? I was thinking of getting a system76 or just wiping away windows on new laptop, but would also consider settling with dual boot if you think that is a better option, thanks.

This was before I started using Linux. But when I attended the university in 2004 I had 2 classmates who did. They didn't have any trouble with any classes, from what I recall.

trent.josephsen
July 22nd, 2012, 09:58 PM
When I was at university, I never needed Windows on my personal computer. When I did need to use a Windows program, there were always computer labs available. Mind you, this happened for me a lot more than it probably will for you, because I was in a 4-year engineering program. Stick with cross platform languages (e.g. C, C++, Java) and you should be able to do the vast majority of your work in Linux. (Be aware of the hours the labs are open and avoid them at peak times or right before an assignment is due.)

I'd be a bit more concerned about having to choose 15 hours from [ COP1220, COP2334, COP2800, COP2840, COP1332, COP2838, COP2805, COP2831 ]. Notably, the only languages that get more than a single course are Java and Visual Basic. Furthermore, it seems the school's emphasis is all on Web technologies, which make up only a small section of available programming jobs (one that I personally find pretty boring[1]).

If I were in your position I'd talk to my academic advisor about getting a somewhat broader background. See if you can substitute some digital electronics or lower-level programming courses for a few of your electives. I'd advise taking a project management class too. It's your education, and you're getting it on the cheap -- make the most of it!

[1] Edit: on rereading, I realize I could come across here as being insulting or condescending to Web programmers -- that wasn't my intention at all. I simply wanted to point out ways in which you might broaden your experience without spending more money on your education. "Boring" was a touch of opinion, not a value judgment -- plenty of people probably find what I do boring, and that's fine.

slavik
July 24th, 2012, 04:53 AM
Keep in mind that Mono is not .NET. Mono is not developed by Microsoft and is not up to date with .NET versions.

directhex
July 24th, 2012, 10:14 AM
Keep in mind that Mono is not .NET. Mono is not developed by Microsoft and is not up to date with .NET versions.

Keep in mind that Mono supports features that have not yet been released in .NET, e.g. the "csharp" REPL has been in Mono for years, Microsoft aren't adding one until .NET 5.0

trent.josephsen
July 24th, 2012, 02:04 PM
Keep in mind that Mono supports features that have not yet been released in .NET, e.g. the "csharp" REPL has been in Mono for years, Microsoft aren't adding one until .NET 5.0
Great! So not only can I write code for .NET that doesn't run on Mono, I can even write code for Mono that doesn't run on .NET? It sounds just like Java, except for the nasty cross-platform compatibility part! </s>

Tony Flury
July 24th, 2012, 04:31 PM
Thanks alot guys, The virtual box suggestion sounds ok, but i don't think i'm cool with spending beaucoup cash for windows 7, which i think i might have to do. i may just dual boot even though id rather not, for some reason.

The courses are on this site if you don't mind looking at them:

http://www.palmbeachstate.edu/x3223.xml?id=56
(http://www.palmbeachstate.edu/x3223.xml?id=56)

Unless you already have a licensed copy of Windows you will need to pay whether you dual boot or use Virtual Box. Virtual box will happily run Windows XP though - even if it won't install raw on your laptop - so you don't have to buy Windows 7, if you already have XP, and your development tools are supported on it.

IncurableHam
July 24th, 2012, 07:07 PM
Before you shell out the cash for Windows, I would check with the CS department at your school and see if you can get a free MSDNAA student account. A lot of universities' offer such accounts to CS students, at least mine did. They have a lot of great Microsoft software for free, such as Windows 7, Windows 8 Consumer Preview and VisualStudio 2010.

As for needing Windows for school, my school's CS classes are primarily through Unix, so I use Ubuntu to do most of my CS homework, especially the programming. I still like to keep Windows though because I do some VB.NET work and am learning C# and I like VisualStudio (especially since it was free...).

directhex
July 25th, 2012, 07:03 PM
Great! So not only can I write code for .NET that doesn't run on Mono, I can even write code for Mono that doesn't run on .NET? It sounds just like Java, except for the nasty cross-platform compatibility part! </s>

csharp actually runs on Microsoft.NET if you want it to.

But at any rate, you can write some single-platform Java in 2 lines, so what exactly is your argument?

Just a general "Your course expects Windows so you should not consider a Free Software replacement because Microsoft is awesome" posting from the usual anti-Mono crowd?

trent.josephsen
July 25th, 2012, 10:16 PM
csharp actually runs on Microsoft.NET if you want it to.

But at any rate, you can write some single-platform Java in 2 lines, so what exactly is your argument?

Just a general "Your course expects Windows so you should not consider a Free Software replacement because Microsoft is awesome" posting from the usual anti-Mono crowd?
Um. What?

My point is that .NET is a proprietary platform for which there is no drop-in open source replacement. Even if there was, Microsoft could release a new version tomorrow and you'd be playing catch-up again. The fact that Mono exists doesn't eliminate vendor lock-in or alter the fact that Microsoft is calling the shots on the .NET platform.

In that way it's a bit like Wine, or any attempt at manipulating OOXML. Or PDF for that matter.

PaulM1985
July 26th, 2012, 11:17 AM
Hey.. I'm changing my major in college to Computer Programming so I'm shopping around for a laptop for school. I'm relatively new to Linux,Ubuntu but I'm enthusiastic about diving right in. Do you think that having a laptop with just the Ubuntu OS will conflict with my programming classes (I'm thinking software or something that won't have me in sync with the teacher or other classmates)? I was thinking of getting a system76 or just wiping away windows on new laptop, but would also consider settling with dual boot if you think that is a better option, thanks.

Since most laptops have Windows installed on as default, I would say that you are better to dual boot than completely wipe everything off. I have found that it is worth having Windows if possible. There are little things I tend to need it for. I do all my work in Ubuntu, but if I ever need to provide someone with a Word doc, I open my file in Word to check it displays ok. OpenOffice say that it is compatible but I have found that they get things wrong on occasion.

So ultimately what I am trying to say is, if you buy a laptop that has no OS, then fair enough, just stick Ubuntu on. If you buy one with Windows pre-installed, it doesn't hurt to keep it in the background and dual boot.

Paul