Greeting,
I'm .NET programmer and I've never programmed for UNIX.
Now, I'm planing to start developing my networking programming skills under UNIX environment and I do not know what flavor of UNIX OS I should start and and what language start with too.
I'm thinking to start with Java as alanguage to program with but what UNIX OS should I start with.
please advice.
Regards,
You can start with Linux. Any distrubution.
I recommend Mandriva. It's not too far removed from the Windows experience, and it has worked out of the box for me. (I've used it since before it was labeled "Mandriva"). The live cd's are pretty good, too. I recommend booting up one and trying it out before committing to any distro.
After that, find a good network programming reference. Beej's covers everything I've needed:
link
Related
I have been installing alot of Linux software lately. Installing almost always requires running a "configure" script. It has finally dawned on me that pretty much everyone is making their configure scripts by taking one extensive, generic script and tweaking it for their own purposes. If anyone knows what I am talking about, can you tell me the source for this generic configure script? Thanks.
That would be autoconf.
I would imagine that the Goat Book offers a comprehensive treatment of it.
Do not taunt autoconf.
Well, I need your advice.
I'm working on a huge engineering project, everything is ready now (resources and formulas etc) and it's time to start coding. I don't have any problem with what language to code with (i know a lot).
but they're the users who are pulling me off.
I use Windows as a primary OS but there are a lot of Mac and Linux users too. And these days tablets have taken a lot of developing space ( Android and stuff).
So what option do you advice :
1)Write the program from the scratch on each OS, I mean writing the program on Windows using Visual Studio, on Mac use Xcode.
but this costs a lot ... I own Windows PC, buying Mac or Mac OS for my desktop, will ruin my budget.
2)Use cross-platform compilers ...
It is nice. but how about the commercial use? I have read that I need to buy a commercial license in order to publish my apps worldwide.
please if this is wrong tell me about it.
so really I don't know ... shall I just deploy it for Windows?
Also if you know a great option for cross-compiling would help a lot .
Your Advice Is Appreciated
Best Regards
What kind of app is it?
If it's just a number crunching app with a very simple front end then can you write a commandline version and wrap it with a web script?
If it needs very responive rich user interface and you can program in C++ then Qt is a very good solution even if you don't need cross platform.
The LGPL license is perfectly suitable for commercial apps.
I'm in the research phase of my next computer build. I have the idea in my head of running a hypervisor as the base of the system, but i would want to be able to take a shot at programming opencl with one of the OS's installed on the hypervisor...and maybe some gaming. Would i have enough access to the GPU to be able to achieve this effectively, or am i better off installing an OS that i will do development(and gaming) from and then just virtualize any systems on top of that?
what are your recommendations for a hypervisor, vmware, microsoft or other?
sidenote: Recently graduated with a BS in CS, the massive parallel processing seems like a good idea of something to learn, won't be doing any 'real'/major development work. also, i'm aware that CUDA is more mature in it's development, but i'm sticking with opencl for a few reasons, so please don't try to persuade me.
thanks for your input!
dave k.
whats your focus? Virtualisation or OpenCL?
Hak5 did a nice walkthrough of debian based virtualisation environment ProxMox, but I don't know whether it allows virtual hosts hardware access or OpenCL virtualisation.
This question is for experienced Unix/Linux developers.
If you have found that you like Mac OS X better than *nix as a development platform, why is that?
I know that hardware configuration is more convenient and graphics are generally more polished, but I'm not referring to those things. I'm asking specifically about functionality related to software development.
Also, do the benefits still apply if you are mainly targeting Windows or Unix/Linux?
For most purposes, OS X is Unix. Aside from Xcode (which I personally don't care for), there isn't really anything there to make it better or worse than any other Unix-like system for development.
Most of the typical tools, libraries, languages, and interfaces are there, you'll even be using GCC for C/C++ work. As long as you're not developing against Apple/OS X-specific interfaces like Cocoa, you are developing on Unix.
I use OS X because it just works, thus not interfering with my development, not because it has magical fairy dust that makes it better than any other Unix for development.
I love Apple as a dev platform because I get all the power of the *nix commandline as well as Apple's developers tools (XCode).
The additional software/hardware polish, and quality of third party software make it all that much more enjoyable.
Mac OS X is not better than a Unix environment, it is a Unix environment: http://www.opengroup.org/openbrand/certificates/1190p.pdf
I'd go as far as saying it's probably the most used Unix, considering it's also in all iPod Touch and iPhones.
(As far as I'm aware, Linux isn't a certified Unix, but I may be wrong, perhaps a distribution/vendor went through that process.)
Sometimes, for professional reasons, you just have to have tools that are compatible with what your boss or customers use. This often includes proprietary tools like MS Office, whether you want it or not (OpenOffice can't always deal perfectly with Word documents). OSX provides this intermediate ground, where the developers can also be users or closer to their user base.
I wish to learn the UNIX SHELL can someone provide me with services such as these? SSH/POP etc?
To expand on Zach's reply, I recommend getting a Live Distro that you can run from a CD/etc without installing to hard-drive. Perfect for playing about without affecting your existing OS.
Pick one from www.livecdlist.com - ordered by votes, so probably best to go for one near the top. :)
If you have a Windows PC and you can install software on it, try Cygwin This gives you a Unix environment and a bash shell.
Have you had a look around this list?
There are a number of public/open access Unix systems (e.g. SDF) that offer free accounts which are usually quite restrictive (paid accounts provide more "rights", disk space, bandwidth, and access to more services). It's probably better to grab a free distribution of a Unix or Unix-like operation system and install it on your own computer. That way, you can play "administrator" and get your hands dirty.
If you want to play around with the Unix environment without destroying your current install, you could try using virtualization. A program called VirtualBox can let you run x86 operating systems in a contained environment, and if things go wrong, just delete the virtual machine and reinstall.
Or if you want just a shell, you could try Rootshell, which will give you an OpenBSD based shell. For a Linux based shell, Polarhome, can do that, as well as give you some other operating systems to play around with.
In my personal opinion though, I would try VirtualBox, because if you are just learning the shell, a GUI will be helpful when you need to fix or check on something that you might not know how to do in the shell.