Ubuntu variants for programming

ykgoh

Master Member
Joined
Jan 1, 2000
Messages
2,782
Reaction score
0
Planning to use Ubuntu for programming. Intend to run IDE like Eclipse, NetBeans etc. Will also need to run command line tools like git, curl, gcc, make, Apache, MySQL, PHP, Python etc.

Ubuntu has several variants like Lubuntu, Xubuntu, MATE, Kubuntu KDE, GTK, Ubuntu Gnome etc. If I choose one of these variants, instead of the official one using Unity desktop, will it create any problem in running the IDEs and tools above?

Most of the tools are command line ones, except for the IDEs that have a GUI interface.
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,549
Reaction score
1,302
Planning to use Ubuntu for programming. Intend to run IDE like Eclipse, NetBeans etc. Will also need to run command line tools like git, curl, gcc, make, Apache, MySQL, PHP, Python etc.

Ubuntu has several variants like Lubuntu, Xubuntu, MATE, Kubuntu KDE, GTK, Ubuntu Gnome etc. If I choose one of these variants, instead of the official one using Unity desktop, will it create any problem in running the IDEs and tools above?

Most of the tools are command line ones, except for the IDEs that have a GUI interface.

No issue. graphical libraries dependencies are application specific, not OS wide. Even if your desktop is not using, for example gnome, but if the application requires, they are installed if installed from repositories. If you are installing externally, then you can install those dependencies yourself via repositories too.
In any case, Java applications like Eclipse uses the swing component and are mostly already satisfied when you install your jdk from repository. Java applications normally do not requires high level graphical libraries, they work with low level graphical libraries for graphical drawing and handle the rest within the Java API.

Your other utilities are commandline tools, so are irrelevant to the graphical components.
 
Last edited:

andrew_g

Member
Joined
Oct 12, 2007
Messages
153
Reaction score
5
agree with david, and to give my 2 cents:

you could start with the 'main' standard Ubuntu distribution. then you could add other 'packages' using apt-get
https://help.ubuntu.com/community/AptGet/Howto

for java u can either use openjdk which may come installed or may need an apt-get. the alternative is to get it from oracle's jdk web site. but u would most likely need to search for docs say on ununtu's web site on how to get oracle's version of java installed

if u look at the variants
https://www.ubuntu.com/about/about-ubuntu/flavours

Edubuntu — Ubuntu for education
Ubuntu GNOME — Ubuntu with the GNOME desktop environment
Kubuntu — Ubuntu with the K Desktop environment
Ubuntu Kylin — Ubuntu localised for China
Lubuntu — Ubuntu that uses LXDE
Mythbuntu — Designed for creating a home theatre PC with MythTV
Ubuntu Studio — Designed for multimedia editing and creation
Xubuntu — Ubuntu with the XFCE desktop environment
Ubuntu MATE — Ubuntu with the MATE desktop environment

most of them are 'tweaks', e.g. have a different X desktop / window manager.

in my own trials things like lubuntu, xubuntu package a 'lightweight' desktop manager. hence those are more 'popular' for 'low powered' (i.e. those atom cpus and 'embedded' i.e. arm chips boards) and where the flash is limited e.g. having perhaps only 4-32 G flash storage.

standard ubuntu distribution if i'm not wrong comes with the gnome desktop manager

the notable other 'standard' distribution would be Kubuntu, KDE and Gnome is pretty much 'industrial strength', with KDE being actually based on a commercial library QT that's open sourced while Gnome has evolved over the years i think initially started by redhat, gnu & the likes but as an 'open sourced' alternative to KDE. Both are pretty mature by today's standard.
https://youtu.be/SlmgwHAXgB4

for myself i'm using opensuse
https://www.opensuse.org/
 
Last edited:

Rock-kun

Senior Member
Joined
Sep 10, 2007
Messages
991
Reaction score
1
for java u can either use openjdk which may come installed or may need an apt-get. the alternative is to get it from oracle's jdk web site. but u would most likely need to search for docs say on ununtu's web site on how to get oracle's version of java installed

Ehh, that's so noobish. :s22:

I downloaded the zip archive of the OpenJDK sources, patched them and then built OpenJDK 8 as my Java base platform. Then went to IcedTea to get the sources for IcedTea-web plugin and built them against the compiled OpenJDK8 base to get support for JNLP files, which I often work with in my job (Because some appliances have taken Chrome's 'No NPAPI' stand to heart and released standalone JNLP files instead of integrating an applet into their webUI).. Result: a fully open, updated and upstream reference Java platform without Oracle's branding or proprietary bits

So much more fun and satisfying to do that.
 
Last edited:

ykgoh

Master Member
Joined
Jan 1, 2000
Messages
2,782
Reaction score
0
It's OK ah. I have nothing against proprietary software.

Just wanna be sure the choice of desktop environment won't cause plenty of problems by locking me to one platform. Like later needing to switch around or reinstall to run GTK Gnome apps or KDE QT apps.

Had the mistaken idea that KDE QT apps can't run in Gnome and GTK apps can't run in KDE. Seems like as long as GTK and QT libraries are installed, you can run anything regardless of the desktop environment.
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,549
Reaction score
1,302
Ehh, that's so noobish. :s22:

I downloaded the zip archive of the OpenJDK sources, patched them and then built OpenJDK 8 as my Java base platform. Then went to IcedTea to get the sources for IcedTea-web plugin and built them against the compiled OpenJDK8 base to get support for JNLP files, which I often work with in my job (Because some appliances have taken Chrome's 'No NPAPI' stand to heart and released standalone JNLP files instead of integrating an applet into their webUI).. Result: a fully open, updated and upstream reference Java platform without Oracle's branding or proprietary bits

So much more fun and satisfying to do that.

Sure if you feel so. I am afraid in my job, I have a lot more things to write and to compile instead of just getting satisfied over compiling the JDK :)
 

Azzizz81

Suspended
Joined
May 4, 2001
Messages
49,375
Reaction score
2,288
Planning to use Ubuntu for programming. Intend to run IDE like Eclipse, NetBeans etc. Will also need to run command line tools like git, curl, gcc, make, Apache, MySQL, PHP, Python etc.

Ubuntu has several variants like Lubuntu, Xubuntu, MATE, Kubuntu KDE, GTK, Ubuntu Gnome etc. If I choose one of these variants, instead of the official one using Unity desktop, will it create any problem in running the IDEs and tools above?

Most of the tools are command line ones, except for the IDEs that have a GUI interface.

I'm using Eclipse on Linux Mint with no issues. But then again, no one can guarantee there will be no issues at all with whatever tool you are gonna install. The tools you've mentioned seem pretty standard, even if there are problems most likely someone else has already fixed them, just google as they come up :s13:
 

ykgoh

Master Member
Joined
Jan 1, 2000
Messages
2,782
Reaction score
0
Ehh, that's so noobish. :s22:

I downloaded the zip archive of the OpenJDK sources, patched them and then built OpenJDK 8 as my Java base platform. Then went to IcedTea to get the sources for IcedTea-web plugin and built them against the compiled OpenJDK8 base to get support for JNLP files, which I often work with in my job (Because some appliances have taken Chrome's 'No NPAPI' stand to heart and released standalone JNLP files instead of integrating an applet into their webUI).. Result: a fully open, updated and upstream reference Java platform without Oracle's branding or proprietary bits

So much more fun and satisfying to do that.

With all due respect, I doubt many people care if their entire system is fully open source only, and any trace of a proprietary software in it makes it tainted. My users and customers only care if it works and if I can give them asap. Except for Richard Stallman and his GNU followers who would insist that every single software artifact must be open source.

From reading up, OpenJDK is a clean room implementation of Oracle JDK to make it open source. I believe it covers only the Java VM and compiler. But to replace it completely still required some closed source tools (e.g. Java WebStart jnlp) not covered by OpenJDK. And the IcedTea project initiated by Red Hat was to recreate those missing parts or tools to complete the OpenJDK as a 100% replacement.

But you happy can already.
 
Last edited:

Rock-kun

Senior Member
Joined
Sep 10, 2007
Messages
991
Reaction score
1
Sure if you feel so. I am afraid in my job, I have a lot more things to write and to compile instead of just getting satisfied over compiling the JDK :)

Well, i'm basically running a ghetto version of Linux from Scratch. The base distribution is still Fedora, but all my additional applications and runtime libraries are built from upstream and not installed through the repositories.

The only things Fedora is providing are the compilers, X and C devel libraries, GTK+ and QT5 devel libraries, core command line tools and the desktop environment. Everything else, like VLC, web browsers, x264, media libraries, SSL libraries, jpg/png libraries, libreoffice, QEMU, etc and their dependencies are all built from source.
 

ykgoh

Master Member
Joined
Jan 1, 2000
Messages
2,782
Reaction score
0
Well, i'm basically running a ghetto version of Linux from Scratch. The base distribution is still Fedora, but all my additional applications and runtime libraries are built from upstream and not installed through the repositories.

The only things Fedora is providing are the compilers, X and C devel libraries, GTK+ and QT5 devel libraries, core command line tools and the desktop environment. Everything else, like VLC, web browsers, x264, media libraries, SSL libraries, jpg/png libraries, libreoffice, QEMU, etc and their dependencies are all built from source.

Did you start off with Gentoo Linux and got addicted to compiling from source? :s12:

yN6kSwz.gif
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,549
Reaction score
1,302
Well, i'm basically running a ghetto version of Linux from Scratch. The base distribution is still Fedora, but all my additional applications and runtime libraries are built from upstream and not installed through the repositories.

The only things Fedora is providing are the compilers, X and C devel libraries, GTK+ and QT5 devel libraries, core command line tools and the desktop environment. Everything else, like VLC, web browsers, x264, media libraries, SSL libraries, jpg/png libraries, libreoffice, QEMU, etc and their dependencies are all built from source.

For your own personal purpose, you are free to do whatever you want actually. From a commercial setting, I am afraid it will not fit most businesses, especially those that are managed by vendors or created for clients. Own consumption, as long as you find your time is well spent, no one will question if you rewrite the Linux from scratch and deploy it :)

Issue is when you have tons of libraries you need to support for patches, I'm afraid most businesses have no time to recompile for each patch. As vendors, we need to supply exit plans for clients, so that if they change vendor, their systems can have the possibility to be maintained by other vendors of similar capability. A custom linux as you have describe will not make that possible.

It's a business we are managing, not merely a hobby to have everything compiled in your own backyard. Besides the fun in technology is not restricted to just get your own custom OS, it's also about a lot of things outside of it. Hence using readily compiled libraries, products or utilities from any existing sources don't necessarily indicate amateurish, just different focus with different outcomes. :)
 

andrew_g

Member
Joined
Oct 12, 2007
Messages
153
Reaction score
5
Ehh, that's so noobish. :s22:

I downloaded the zip archive of the OpenJDK sources, patched them and then built OpenJDK 8 as my Java base platform. Then went to IcedTea to get the sources for IcedTea-web plugin and built them against the compiled OpenJDK8 base to get support for JNLP files, which I often work with in my job (Because some appliances have taken Chrome's 'No NPAPI' stand to heart and released standalone JNLP files instead of integrating an applet into their webUI).. Result: a fully open, updated and upstream reference Java platform without Oracle's branding or proprietary bits

So much more fun and satisfying to do that.

there seem to be some 'catch' about java, i've read forum posts saying openjdk 'can't do' certain things, some mentioned some handicaps with android development. i'm not too sure if that's true

open jdk is fine for just about most things though, personally i've not (yet) encountered such a diff, & oracle's jdk is *not free* for commercial / non-development uses. but the guess is that many if not most people are using oracle's jdk

accordingly openjdk & oracle jdk are both from oracle, just that openjdk is 'reference implementation' & the license terms is different
 
Last edited:

andrew_g

Member
Joined
Oct 12, 2007
Messages
153
Reaction score
5
That is actually still not far enough. After all, it is a distro with layouts. Here is how early it can start http://linuxfromscratch.org Was reading on this like many years back

my guess is these days 'nobody' build distributions from scratch. i'd guess few people even have quite that much 'talent' to do so. the big distributions e.g. ununtu, debian, redhat, opensuse, mint, etc are all large collaborative efforts by actual commercial companies and lots of people.

there is 1 case where 'build from scratch' actually make sense, it is in the *embedded* world. try to imagine that u need to live in say 32 megs (yup megs not gigs) of storage & < 1 meg ram. yup some microcontrollers has 8 k sram & 32k storage forget about meg. for those situations, if 1 wants to go the distance it is a 'lonely' & brave world, build from scratch & do all the drivers 'yourself' - note 'iot' to a%
 
Last edited:

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,549
Reaction score
1,302
there seem to be some 'catch' about java, i've read forum posts saying openjdk 'can't do' certain things, some mentioned some handicaps with android development. i'm not too sure if that's true

open jdk is fine for just about most things though, personally i've not (yet) encountered such a diff, & oracle's jdk is *not free* for commercial / non-development uses. but the guess is that many if not most people are using oracle's jdk

accordingly openjdk & oracle jdk are both from oracle, just that openjdk is 'reference implementation' & the license terms is different

My understanding Oracle JDK, has been available for *COMMERCIAL* use as long as you stick with the NON-COMMERCIAL feature set of the product. End-users are granted limited licensed at no fees for commercial use under BCL - http://www.oracle.com/technetwork/java/javase/terms/license/index.html.

The commercial features are listed in http://www.oracle.com/technetwork/java/javase/terms/products/index.html

Those commercial features consist of BEA's JRockit enterprise implementations and probably some more from Oracle later on. They are not part of the standard Java reference either, so safe to say businesses can use Oracle JDK (meanwhile) in an non-crippled manner.
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,549
Reaction score
1,302
my guess is these days 'nobody' build distributions from scratch. i'd guess few people even have quite that much 'talent' to do so. the big distributions e.g. ununtu, debian, redhat, opensuse, mint, etc are all large collaborative efforts by actual commercial companies and lots of people.

there is 1 case where 'build from scratch' actually make sense, it is in the *embedded* world. try to imagine that u need to live in say 32 megs (yup megs not gigs) of storage & < 1 meg ram. yup some microcontrollers has 8 k sram & 32k storage forget about meg. for those situations, if 1 wants to go the distance it is a 'lonely' & brave world, build from scratch & do all the drivers 'yourself' - note 'iot' to a%

Yes for embedded systems, but I suspect it wouldn't be necessary to follow LFS for these fellas either, and we are really referring to embedded systems designers, not the developers whom uses an embedded system platform for building. Since the bootstrapping process will be rather different for embedded systems and I would suspect they wouldn't be using lilo or grub either, so these fellas will need to know where to even get the kernel strapped in, with or without the init ramdisk.

Otherwise I agree these days we don't have the luxury to go small for a lot of use cases. People are just spoilt with GBs and TBs, they probably think compiling a C code will end up with hundreds of megabytes when I had issue getting my compiled inventory management system larger than 10KB after compiling 10,000 lines of pascal codes. :)
 
Last edited:
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top