|Home||Switchboard||Unix Administration||Red Hat||TCP/IP Networks||Neoliberalism||Toxic Managers|
May the source be with you, but remember the KISS principle ;-)
Skepticism and critical thinking is not panacea, but can help to understand the world better
Solaris is definitely less popular then Linux as a free software development environment. In terms of developer out-of-the-box usability, Linux even with its "perma-beta" kernel and semi-debugged GUI beats Solaris hands down.
Why until version 8 Solaris did not contain Perl.
Why even now ksh93 is not one of standard shells (actually as on of the reader wrote to me as of Jan 2007 there are some recent positive developments for Solaris in this area: OpenSolaris will include ksh93 soon).
Why even now Perl packages preinstalled are minimal.
This list of questions can be continued but it is logically assume that any large corporation has some level of "institutional stupidity" that is unavoidable. Just look at any other Unix vendor if you do not believe me; the discussion of a number of warts in AIX (the very idiosyncratic Unix which smells with mainframes) and HP-UX requires a book not an article :-).
The value of Linux as a development environment is intrinsically connected with its value as a corporate bureaucracy fighting machine of formidable power. OSS is life blood of software development: it is first and foremost software for developers by developers. Life is too short to spend it on approvals for each and every tool you need. Linux comes preconfigured with a lot of development tools (of various quality) and it is ready to use for complex development projects from day one.
Linux is a tremendously positive force and a powerful tool in fighting corporate and academic bureaucracy; its value in this area cannot be overestimated
Solaris does has some advantages (see below) for developers of applications that integrate more closely with OS as it has far better dump facilities, better debugger, and compiler and far better instrumentation mechanism (Dtrace is next to none). But you need to spend some efforts configuring it as a development machine and spectrum of available tools is much narrow although some of the tools are of higher quality. Actually Sun recently started to produce distribution called Solaris Express Developer Edition which is oriented specifically for developers and that's a very positive step:
Solaris Express Developer Edition is an OpenSolaris-based distribution for x86 that includes the latest tools, technologies, and platforms to create applications for Solaris OS, Java Application Platform, and Web 2.0.
Available at no-cost, Solaris Express Developer Edition is regularly updated to incorporate new functionality to help application developers create better applications -- faster. Developers can create high performance applications using this distribution and deploy to Solaris 10 OS.Develop your applications using Solaris Express Developer Edition and deploy to Solaris 10. For applications that use Solaris APIs, we encourage you to download and use the Solaris Ready Test Suit to verify use of Solaris 10 APIs. In addition, you should do your final build on a Solaris 10 server before deploying.
Developer support options are available for code support, programming and technical assistance. Recognized industry-wide, Sun offers developer training and certification courses for Solaris, Java, and Web 2.0 developers.
The 2/07 release of Solaris Express Developer Edition is only for x86-based laptops and desktops. Developers on SPARC systems can obtain similar functionality by downloading the latest Solaris Express Community Edition build 55 (CD) or (DVD) and installing Sun Studio 11 for OpenSolaris and NetBeans IDE 5.5 with NetBeans Enterprise Pack 5.5. Future Solaris Express Developer Edition releases will include support for both x86 and SPARC platforms. VMware for Solaris Express Developer Edition is also available.
- Sun Studio 11 for OpenSolaris - the latest enhancements and patches for Solaris Express distributions. Record-setting C, C++, and Fortran compilers, IDE, and integrated tools
- NetBeans IDE 5.5 with Enterprise Pack 5.5 - an open-source IDE for desktop and enterprise Java development including the GlassFish V1 application server.
- Solaris + AMP (SAMP) - Learn how to set up an optimized and observable stack using Solaris Express Developer Edition to develop your AMP applications. Note: For those who downloaded the AMP offering, Cool Stack v1.0.2, you need to follow these post-installation steps on Solaris Developer Express Edition. For those that have downloaded Cool Stack v1.1, no additional post-installation steps are necessary.
- Solaris OS, Desktop and Applications - Based on Solaris Express Community Edition build 55, this release includes many desktop and operating system enhancements. The highlights include new tools like Firefox, Thunderbird, and StarOffice 8.
- Open Source Applications- over 150 open source applications including MySQL, Python, and PostgreSQL.
GCC is the standard compiler for Linux: both OS itself and applications are compiled with it. It is an established compiler with reasonable (but far from outstanding) quality.
But GCC is a fuzzy term and multitude of partially incompatible versions are actually used. That means that recompilation problem can be a problem for Linux too. The other variable here is version of the kernel and it affects a lot of applications. It is usually surprising to see that application compiled for Linux 2.2. or 2.4 works for 2.6.
For Solaris GCC is a secondary compiler, different from the compiler with which OS is compiled. GCC is available on Solaris in several precompiled versions including the most current but the availability of versions does not mean absence of problems with compilation. Here actually Sun's compiler groups is sleeping at the wheel. Until recently they did nothing to provide some guidance of compiling major open source tools with gcc on Solaris or (if this hurts too much :-) to popularize better and actually pretty compatible with gcc Studio 11. As of September 2006 the number of precompiled with Studio 11 packages can be counted on one hand (see Cool tools). I see no attempt to provide an equivalent of Supplementary Software CD based on Studio 11 with some documentation as this feat was achieved.
Actually release of Studio 11 as a free application was a very shrewd move on the part of the Sun. Few developers working in enterprise environment enjoy using gcc and Emacs as the development environment as expectations here are generally defined by the quality of Microsoft Studio environment. Some people use Eclipse, but it is a very heavy, bloated IDE that slightly suffers from usage of Java as an implementation language. Outside Microsoft Studio, SlickEdit often defines the quality of editors for developers and Intel complier -- for compliers.
The quality of compilation might make a big difference for those few IT organizations where staff's ability to use compiler and linker still survived. Yes Intel compiler is available for linux but not Solaris so theoretically the most optimized applications can be produced on linux. But here you are actually in the same boat as people who are trying to recompile open source applications on Solaris: without expert knowledge of standard Unix development tools this job is extremely dangerous to your mental health :-). There was a good albeit slightly evil joke about linux development environment which is especially applicable to people who just need to recompile a couple of open source applications to make something work: open source is free only if your time cost nothing. Like in any good joke there is a deep truth hidden in it and no amount comments from zealots on Slashdot or Linuxtoday.com can change that.
Also for CPU intensive application Sun has unique advantage Sun Studio 11 for X86 compiler tuned for Opteron -- the area were Intel compiler by definition will always be weaker. Also it is important to understand that until version 4.01 gcc was weaker then Sun Studio 11 on UltraSparc (GCC 4.01 is able to use the optimizing Sun Code Generator for SPARC systems). Still even with version 4.01 of gcc available, recompilation with Sun Studio 11 is still a recommended option if speed is extremely important as well as from the points of the lessening of the level of exposure to vulnerabilities for such important enterprise applications as apache, bind, postfix or Sendmail. Speed-up generally depends on the application and can be as low as 5% or as big as 50%, but it definitely exists.
Sun Studio 11includes:
CC: C++ compiler
CCadmin: Cleans the templates' database; provides information from and updates to the database
c++filt: C++ name demangler
cb: C source-program beautifier
cc: C compiler
cflow: Generates C source-program flowgraph
cscope: Interactively examines a C program source file
ctrace: C program debugger
cxref: Generates C program cross-reference listing
dem: Demangles a C++ name
f77: Fortran 77 compiler
f95: Fortran 95 compiler
fdumpmod: Utility for displaying Fortran 95 module information
fpp: The Fortran source language preprocessor for Fortran 77 and Fortran 95
fpr: Converts Fortran carriage-control output to printable form
fsplit: Splits a multi-routine Fortran source file into individual files
indent: Indents and formats a C program source file
inline: In-line procedure call expander
lint: A C source-program checker
ptclean: Cleans up the parameterized types database
Compiler options are different. Here is a table modified from IBM's Guide to porting from Solaris to Linux on POWER [[Skawratananond&Davis1996] that provides some guidance:
As I already mentioned several times usage of Studio 11 provides some additional protection against script kiddies: exploits developed for GCC version will not work on Sun Studio compiled version. As for UltraSparc script kiddies usually don't even bother to port exploits to this platform.
Recently Sun Studio 11 won 3 out of the 4 major metrics (SPECint2006, SPECfp2006, and SPECint_rate2006)[Sun Studio 11 Performance Results Sizzle in Newest Application Benchmark Result; Sun Launches Sun Studio Express Program]:
SANTA CLARA, CALIF. Augus 31, 2006 Sun Microsystems, Inc. (Nasdaq: SUNW) today announced that its Sun Studio 11 software, Sun's freely available development tool for Solaris and Linux Operating Systems, has again delivered record-setting results across the new benchmark suite provided by The Standard Performance Evaluation Corporation (SPEC). Additionally, Sun has launched the Sun Studio Express Program, that enables C, C++, and Fortan developers to preview features intended for future releases. With more than 50,000 registered downloads in the past 6 months, this program was created in response to the rapid adoption and interest in Sun Studio 11 software.
Jochen Rehbock, Head of Product Development with Billing and Loyalty Systems GmbH, confirms, "The quick and knowledgeable support provided by the Sun technical experts as well as the use of Sun Studio 11 were instrumental for making Billit, a modern and future-oriented billing system for the telecommunication industry, a success. Replacing GCC version 3.4.4 with Sun Studio 11 and the STLPort library provided by Sun alone yielded performance improvements in the range of 10 to 25 percent depending on the use case without requiring more than a few lines of code to be changed."
Sun has established an early and commanding lead, taking top honors in 3 of the 4 major metrics (SPECint2006, SPECfp2006, and SPECint_rate2006), using Sun Studio 11 and Solaris 10 on both AMD Opteron and UltraSPARC(R) processor-based systems. Utilizing the most advanced features of Sun Studio 11 software, such as auto-parallelism technology, the Sun Fire X4200 server, equipped with AMD Opteron processors, surpassed rival systems based on Intel processors, such as HP ProLiant DL380 G4 server, as well as the competing HP ProLiant DL385 server. Demonstrating commitment to the high-end commercial computing segment, Sun is also showcasing the flagship Sun Fire E25K server. Optimized with Sun Studio software, these best-in-class systems helped Sun to be the only top server vendor to increase market share, according to the IDC Q206 Worldwide Quarterly Server Tracker.
The SPEC CPU2006 Benchmark (announced on August 24, 2006) which is more than 4 times larger than its predecessor, now includes a broader variety of workloads and better real-world applicability of the results. This new benchmark exercises a computer's processor, memory architecture, and compilers on a variety of compute intensive workloads, including protein sequencing, MPEG-4 decoding, XML processing, fluid dynamics, structural mechanics, and speech recognition.
"Sun Studio continues to demonstrate its leadership in its ability to help developers maximize the performance of their applications," said Don Kretsch, senior director, Sun Developer Tools. "With 50,000 downloads in 6 months, enterprise to open source developers are using Sun Studio 11 to reduce development time, increase portability, and improve the performance of their applications."
One of the significant benefits of Sun Studio 11 is the integration between components, which includes optimizing compilers, a multi-thread aware debugger (dbx), performance analysis tools, and a NetBeans-based IDE. The tools components also work on objects created by other compilers which allows developers to easily intermix Sun Studio tools within their current development environment. The newly launched Sun Studio Express Program provides regular snapshots of future releases of Sun Studio under development. The latest snapshot includes optimizing compilers for Linux, demonstrated recently at LinuxWorld, San Francisco 2006. In addition, the new Data Race Detection Tool complements the existing multi-threaded libraries, tools, and compiler optimizations to ease multi-threaded development.
Dbx on Solaris is more solid then gdb. GNU debugger probably outlived its usefulness and has mainly historical importance. The difference is especially big we are talking about debugging complex program in C++.
Solaris also has better kernel visibility (including classic core dumps infrastructure) and debugging tools which are critical to get a correct understanding of system behavior in complex situation when an application hangs or crush. Core dumps analysis is the debugging technique that was polished to perfection on IBM mainframes and its reimplementation by Sun provides similar functionality under Solaris. There are two types of dumps on Solaris, crash dumps (all OS failed) and core dumps (application failed). Linux does not have this important infrastructure. On Solaris, the post-mortem case is exactly the same as on mainframes. Simply reboot -d (or initiate a sync from the OK prompt if the server really hung) and then run mdb on the resulting crash dump. Linux has different implementation of driver layer (especially SCSI layer as it supports many different SCSI adapters) and is generally unable to produce crash dump when interrupts went south. To compensate for this linux introduced the concept of networked dump. To what extent this is an adequate replacement remain to be seen and IMHO Solaris looks slightly better in this particular area.
With linux any dump is a crash dump and that means this feature much less useful. Also kdump implementation in kernel 2.6 is very fragile and does not work out of the box in Suse 10.
All in all Solaris has huge advantage in the quality of dump implementation and if this is important Solaris is a clear choice.
UltraSparc has cleaner architecture and debugging for Solaris is generally easier due to big Endean CPU with RISC instruction set. x86 is a way too cumbersome architecture for debugging ;-). Still x86 is were developers make most money and as a result in no way you are limited to GNU tools in linux (with the exception of gcc and DejaGnu it might be a good policy to try to avoid them as there are always better alternatives) the assortment of various debugging tools on this platform is next to none. Also due to virtual machine environment you can use many Windows development tools on linux (this is true for Solaris too but implemented less often; for UltraSparc Solaris also has a unique feature -- a "Windows card" that I mentioned before).
For tracking system calls Solaris has an excellent truss utility. For Linux, the strace utility provides a similar but weaker function. For more complex situations Solaris has Dtrace and is an amazing tool, a real breakthrough. Currently Linux has no analogs for Dtrace. This means that for applications closely integrated with OS (and in those applications you really need the full power of DTrace, dumps and a very good debugger) Solaris does have tremendous advantages as a development environment.
As for memory leaks detection tools the situation is unclear and Solaris might still have an edge. Insure++ is available both on Solaris and Linux. Grandaddy of memory leak detection tools -- IBM Rational PurifyPlus -- is available for Linux only, but it largely outlived its usefulness. Among OSS alternatives Electric Fence library and Valgrind are probably the most well developed. Of them only Electric Fence is portable to Solaris. It provides functionality similar to that of the watchmalloc(3) library on Solaris.
Valgrind is the product of Julian Seward (of bzip2 and cacheprof fame). It is a more aggressive approach that presuppose running the application in an emulated environment, in which every memory access on both the heap and stack are monitored. The tool is highly x86 and Linux specific. It is helpful, but produces a lot of false positives, especially things going on in various libraries which in most cases are not relevant.
There are also attempts to create a modified version of GCC that can instrument the program so that leaks can detected at run time.
Linux generally wins here and in many areas the distance is quite large as most open source applications are now developed on Linux or even if they are not (FreeBSD is still the platform of choice for development of several major enterprise open source applications), they are almost always tested for Linux compatibility. In this sense linux is Microsoft of the Unix world.
Problem with Solaris instantly arise if you cannot find precompiled package and need to compile sizable application that uses multiple unique libraries. As I mentioned before, most open source packages are very fragile and compiling them on a different OS without being an expert in Unix development tools is a very dangerous for your mental health adventure.
The key advantage of Sun is that it does provide a large subset set of precompiled and tested applications on its Software Supplement CD. There are also many additional high quality packages on Sunfreeware.com. BTW packages from Sunfreeware.com have different installation targets (/usr/local ) then packages from Sun Software supplement CD (Sunfreeware.com also often have newer versions) but thanks God Unix has symbolic links for directories :-).
Solaris 10 can be attractive to developers who do not depend too much on somebody else tools and packages due to availability of high quality free IDE and compiler suit (Studio 11) and its uniquely instrumented kernel that makes such an amazing (and valuable for developers of complex applications) tool as DTrace possible. DTrace is a crown jewel of Solaris development environment and if you can benefit from it Linux instantly became out of question as a development platform. You can endure a lot of sufferings in other areas just for an ability to use Dtrace. Many developers in computer simulation area and some other areas with heavy mathematical components fall into this category. Now with virtual machines on every corner this is an easily achievable goal anyway: those days standard development environment is dual platform environment (usually Windows + Linux or Windows + Solaris).
In case you depends on a large number of obscure open source packages or libraries linux is a preferable platform as it is native for majority of open source packages and tools. Only for small number of native BSD packages your mileage can vary. Paradoxically Linux is preferable platform for using major scripting language although strictly speaking it should not necessarily be this way.
But as enterprise usage of open source is very selective and generally is limited to about a hundred of application/packages or so. That means that the real situation is more complex than "black and white" statement: "Linux rulez, Solaris sucks".
First of all native platform for developing of several important open source applications is not linux but BSD. Also open source software can be considered a viable alternative to closed source only if a particular product is under active development and has critical mass of developers with some organization behind that group. Just existence of package means nothing unless you want to lead the development. Today it exists, tomorrow it might disappear. And with the current level of complexity and volume of important for enterprises open source applications few people can pick up the flag the key developer dropped. If it is not supported it is generally outside the scope for large enterprises. That disqualifies probably 99% of Freshmeat packages.
For those unsupported packages linux and Solaris are equivalent: you need to understand (and able to modify and debug) the source code to make this application useful. for strong developers this is quite possible if application is reasonably simple or extremely important, but after codebase is above say 10K lines all bets are off. As people who participated in ports of legacy applications to a new platform can tell, the only viable option is almost full re-implementation (which just another way to understand the codebase :-).
Sunfreeware.com is the most well know provider of prepackaged open source applications for Solaris and it is known for its high quality of packaging. As of September 2006 it lists 381 packages and libraries for Solaris 10 (slightly more for Solaris 9). That generally covers most tier-one open source applications although sometimes versions provided are rather old. At the same time the quality of packaging is extremely high.
For the second tire open source application (which can be estimated around one thousand packages) Solaris versions are either unavailable or not supported on regular basis or both. Among such packages we can mention ksh93. Sun really should pay more attention to support of sites like sunfreeware.com and Supplementary software CD.
But this is an uphill battle: support costs money that Sun does not have and return on investment is not the easy to quantify. But still even within limited finding available Sun should do much better job in supporting major open source application in precompiled form. Here Sun compiler group should definitly play more important role. Availability and systematic flow of updates for precompiled packages for Solaris can be a perfect way to promote its line of Opteron servers, much more effective that many regular advertising avenues, which also cost a lot of money.
Still even with the handicaps in availability of versions
of some open source applications and weak support of scripting languages
the stability of kernel and other subsystems make Solaris a preferable platform
for several important for enterprise open source applications, especially
those that were initially developed on FreeBSD, and those that depends of
threads. I am thinking about bind, Apache, Postgress and (while not open
source, but free) Java here. While I am not a fun of Java I cannot deny
its huge importance for enterprise: the language essentially replaced Cobol
for commercial application development. Version 6 of the Java Platform does
not mandate any particular script engine, but it does include the
platform implements the
java.script APIs, which allow you to
use script engines that comply with JSR 223. The web site
hosts an open project to maintain several script engines that conform to
You might have also slight advantage of mixing open source with commercial applications for example Oracle, which are better supported on Solaris (I know Oracle is moving toward linux but it is interesting to see how far it will come and at what point Larry Ellison will realize the danger of being too close to open source for a proprietary database vendor; there are already signs that for 64-bit version Solaris will be preferable platform :-).
Still even if a particular open source application is better running on Solaris, and one can get many important major open source applications in precompiled form from sites like SunFreeware.com , downloading and installing them takes time, a lot of time and is less transparent (and more error prone) that installing additional applications on linux (especially during initial installations of distributions like RH or Suse).
As I already mentioned before, recompiling packages for Solaris requires both skills and persistence, but here we at least can realize the advantage of open source instead of being "download lemmings" a la Windows users, the situation that is so typical for linux. After all open source is mostly about source code not free lunch.
Still we should understand that for any architecture different from Intel 32-bit architecture, precompiled new versions of open source applications with improvements and patches for open source applications on Solaris (let's say recompiled packaged for free ride lovers ;-) are slower to arrive. Often you need to compile an application yourself in order to put a new patched version in place within the timeframe of your corporate policy. With adequate skills recompiling actually provides an opportunity for tuning it to your environment (and using a better compiler instead of GCC), but requires additional time, effort and qualification. In this sense Solaris favors higher qualified IT departments that preserves some IQ and were the personnel still can use complier and linker, not just install packages.
Some additional semi-random points:
Sun now proves limited number of prepackaged open source applications compiled with Studio11 (aka Cool tools):
For running major enterprise-class open source applications
like bind, Sendmail, Apache, scripting languages Perl, PHP and TCL,
as well as databases like MySQL and Postgress Solaris is an excellent
choice comparable or better then linux. Still for most (but not all)
open source applications linux is the development platform and this
fact represents a major strategic advantage for linux.
In June 2001 Sun announced that since the introduction of the Free Solaris Binary License Program in March 2000, more than one million systems have been registered taking advantage of the free Solaris program. In addition, Solaris was recently declared the Best Server Operating Environment by Network Computing, as well as the No.1 ranking UNIX Operating System by DH Brown Associates. That might improve the flow of precompiled version to Solaris.
All-in-all, Sun's support of open source applications is still fragmentary and upgrade mechanism for open source applications that it provides to customers on its Solaris Supplementary Software CD is almost non-existent. If Sun embraces open source it should at least minimally support software provided on Solaris Supplementary Software CD providing periodic updates. In the past software on Solaris Supplementary Software CD was not even included in quarterly upgrades of the OS. It can be a separate mechanism to take care licensing issues but without quarterly updates usability of many open source tools usable on Solaris remain questionable in the large enterprize environment.
For more information about compiling and using open source applications on Solaris see [Lin2007]
Solaris uses pkgadmin as its package manager. Linux uses several packaging scheme with RPM as the most popular (used on Red Hat and Suse). Linux package manager is more modern and more capable that Solaris.
The format of the package used by pkgadmin in Solaris is different from the spec file used by RPM, and direct translation of one into another is difficult (see RPM-for-Unix HOW-TO Convert RPM to Solaris Package rpm2pkg). That means that developers usually need to know both. RPM can be used for Solaris but it remain non-standard package format.
See Fetter Consulting/Solaris RPM Building How-To for more details.
There some uncoordinated efforts to make Solaris packaging more user friendly. See for example Phil's Solaris hints/Fun with packaging. Some departments of Rutgers University use a ported version of the RPM to install and upgrade software on Sun Solaris machines. See rpm.rutgers.edu They have a large repository of RPM packages for Solaris (mainly for Solaris 9). You can use port of art-rpm or yum to install packages with dependencies.
Linux has better support for major scripting languages. For many it is the development platform. Solaris has an adequate for large enterprise support. For most important scripting languages free precompiled packages are available from either Sun's Software Supplement Disk and sites the distribute open source applications for Solaris (SunFreeware.com, blastwave.org, etc). High quality commercially supported ports for Solaris are provided by ActiveState.
As I mentioned before while Perl is included with the Solaris 9 and 10 distributions but the number of packages in default installation is limited. TCL, while for many years was developed by Sun, needs to be installed separately. For PHP support you need to use Apache. Even ksh is still old ksh88 (POSIX shell), not ksh93. But company is slowly recovering from the Java fad (or more correctly start to embrace scripting languages in Java framework) and might put more resources into OS development.
Solaris currently has very poor scripting languages support out of the box:
It is the only major OS that does not have ksh93 as
the standard shell and bash port is slightly buggy (version 3.0 is used).
It overwrites the beginning of the line with long command lines in interactive
Usage of Born shell and ksh88 (POSIX shell) creates
real compatibility problems with complex shell scripts (especially if
roles are used). Ksh93 is available on Solaris as dtksh, but only regular
ksh shell is supported for roles. And the regular shell is old ksh88
or more precisely POSIX shell which is ksh88 with few minor extensions.
While you can replace ksh88 with ksh93 and install GNU utilities you
cannot use they with extended attributes and roles.
Bash is also installed by default but cannot be used
as role shell. As root account in more or less intelligent installation
is now a role, that creates problems for administrators.
Poor selection of shells might be attributable for extremely
low culture of usage of shell in Solaris with many installation that
do not have even rudimentary prompts for root and administrators accounts
and people typing PS1 string and similar commands that should be in
.profile for decades...
Perl installation is semi-broken and does not contain
all standard packages.
TCL and expect installation are not default.
PHP installation requires additional efforts and until recently there was no combined "mega-package" which installed both Apache, PHP and MySQL (or Postgress) in a matter that everything works out of the box. ADODB library, popular abstract database interface layer for PHP applications still needs to be compiled.
Command line utilities on Solaris are worse than GNU counterparts although documentation and first of all man pages as qualitatively better (linux man pages are simply horrible with some man pages being completely unusable).
The problem with usage of bash and GNU utilities on Solaris is that they are not ACL and RBAC aware. They still can be used within those limitations as Solaris provides an excellent compatibility.
As for scripting IDE Komodo Studio from Activestate is available for Solaris and it represents a more or less OK environment for most scripting languages.
Java support is one reason of popularity of Solaris among enterprise application developers. Paradoxically IBM Webshere is more often used on Solaris then on AIX or linux. That does not mean that it automatically becomes more stable in this environment, but still there is no question that Solaris in more Java friendly OS then any flavor of enterprise linux.
Actually the main competition for Solaris in Java application development (and more recently deployment) is not linux, it is Windows. And Windows beats enterprise flavor of linux in cost/performance ration by a wide margin. Here are the cost comparison of .Net 2.0 and Webshere environment from Enterprise .NET Community .NET 2.0 vs. IBM WebSphere 6.0
Microsoft .NET 2.0 vs. IBM WebSphere 6.0 License Cost Comparison
As Configured for the Plants Benchmark
|Base Server OS||Windows Server 2003 Standard Edition @ $1089.85 / system||
|Red Hat Enterprise Linux AS @ 1 year subscription||
|Application Server Function||(Included in Windows Server)||
|WebSphere Application Server Express, v6.0 @ $2000/cpu||
|Unlimited External Connections||External Connector @ $3033.07/ system||
|(Included in WAS Express)||
|One Developer seat||Visual Studio 2005 Professional with MSDN Premium Subscription, 1 annual charge||
|Rational Application Developer for WebSphere software, floating user, 1 st year||
|Development-time runtime license||(Included in MSDN Enterprise subscription)||
|WAS Express Developer User||
|Media||CD kit for Windows Server 2003 Standard Edition||
|(included in IBM.com price)||
Despite being based on open technology Webshere generally lags in performance.
NET has a significantly better price/performance ratio than IBM WebSphere 6 across all implementations of the benchmark tested. .NET delivers up to a 4x better performance per dollar as compared to WebSphere in non-clustered benchmark. For tests that include clusters of application servers running IBM WebSphere Network Deployment Editon vs. the lower end WebSphere Express product, the price/performance advantage of Microsoft Windows and .NET can increase significantly.
Costs for IBM were obtained from the IBM.com online store, and the Red Hat online store. Red Hat Enterprise Linux AS is required, as opposed to the less expensive Red Hat Enterprise Linux ES, because this configuration uses 4 cpus, and the maximum number of CPUs supported by the Red Hat Enterprise Linux ES license is 2. Windows Server 2003 Standard Edition supports up to 4 CPUs. A single seat license for the RWD Developer tool is included in WAS Express, but the EJB implementation of the Plants app (as originally developed by IBM) requires support for EJBs, and therefore we separately priced Rational Application Developer for WebSphere 6 to meet this requirement. The price of a floating user license for RAD is $2155.00 for the initial year under a current (as of October 2005) promotion; the normal price is $7000.
While KDE is a nice, flexible desktop, Solaris beats linux hands down if you use workstation with the SunPCi IIIpro card installed:
Some native offerings are more or less acceptable. Eclipse is an advanced
plug-in based IDE that supports C/C++ and Java development on both platforms.
It's slow. The commercial version that is supported by IBM is expensive.
The KDE project (www.kde.org) provides KDevelop (www.kdevelop.org), a nice, integrated with KDE IDE for GNU compiler collection supporting multiple platforms and languages (including C/C++, Java, bash, Fortran, and others) [KDevelop - Wikipedia]. It has six year development history, has powerful editor that can be enhanced by plugins (including persistent project-wide code bookmarks, a Source formatter, Regular expressions search, and project-wide search/replace which can help with refactoring code).
KDevelop supports CVS and ClearCase. Integrated graphical debugger supports standard set of features like breakpoints and backtraces. It works with dynamically loaded plugins unlike command line gdb.
The problem is that KDE is not very well supported on Solaris.
Linux has an edge here as Subversion was developed for linux and better matches this environment. The default source control system for Solaris is the Source Code Control System (SCCS), a dying branch of Unix tree.
The current default source control on linux is the Concurrent Versions System (CVS) a network-aware version of Control System (RCS). Both are available on Solaris. IBM’s ClearCase are also available.
Bug tracking applications works well with both systems. For example Bugzilla is not that platform specific to make any difference (www.bugzilla.org).
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info|
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Created Jan 2, 2005. Last modified: March 12, 2019