Posts Tagged ‘software review’

From: Wolfram Research (http://www.wolfram.co.uk)
Pricing: Standard and Government version £2,035, Education £860, Students £80
By Mike Hubbartt, © Copyright 2007, All Rights Reserved

Mathematica is the powerhouse mathematics software product, available for Microsoft, Mac OS, Linux and UNIX (Solaris, HP and AIX) operating systems. People using Mathematica for research, development and education are Mathematicians, Scientists, Computer Scientists, Engineers, Educators, as well as math students in secondary school and those attending university. Mathematica is powerful, but it doesn’t take a math wiz to use it, so let’s get started with the review.

Getting Started

Mathematica runs on a wide range of Windows platforms, including Vista, XP, Server 2003, Windows 2000 and Windows Me. The product can be purchased on disk or downloaded – either way requires a license. Licenses are not cheap, except for students (see the top of this review for pricing information). And speaking of students, some schools have programs where they provide Mathematica at no charge for their students – check with your Math department to see if your school has this option – mine does and I was quite pleased to be able to get a free license to have this powerful product on my home computers, as well as on university computer systems.

For my Windows OS tests, I installed the product on an HP laptop running Windows XP Professional with Service Pack 2, using a 2GB CPU, 1.25GB RAM and a 100 GB hard drive. The installation process (using a downloaded file run from my local hard drive) took awhile, but it did not require constant user intervention so I started it and walked away to take care of other chores until it was installed. Mathematica 6.0.1 for Windows occupies a bit of hard drive space – about 1.28 GB – and installs in a subdirectory called Wolfram Research in the Program Files subdirectory.

No errors installing or launching – I did not need to reboot to safely start it the first time. It does take awhile to start – I’d like to try it on a dual core system with more memory and a faster drive than in my current laptop, but application performance is very good once it is running, so there is no real need to purchase a new computer yet. Oh well…

Product Functionality

Mathematica doesn’t do one thing well. It does many things. The categories of traditional software that Mathematica can replace include:

  • Audio Synthesis
  • Calculators
  • Algebra Solutions Systems
  • Data Visualization/Plotting
  • Application Development (code, interfaces)
  • Document Format/Typeset
  • Format Conversion
  • Grid Computing
  • Math Education
  • Number Theory
  • Presentations, Reports and Spreadsheets
  • Science Data Sources
  • Simulations
  • Statistics

I don’t have the resources to test all of these, so I’ll give a short rundown on the things I did check. I did use it as a basic calculator – not easy until you learn how to use the product, but something that will help you delve into it and worth the time. Next, I did some College Algebra problems from a textbook – not something that would stress the product, but something that could be interesting to a student or educator. No problems or errors, and I think this would be great to use while enrolled in an Algebra class.

Next I went to Wolfram’s site and found an area of their site devoted to using Mathematica for visualizing models (http://members.wri.com/jeffb/visualization/). I found some really impressive images and simulations. As an amateur astronomer, one image I particularly liked was the one showing two galaxies colliding, just one of many from Jeff Bryant. See: http://members.wri.com/jeffb/visualization/galaxies.shtml

You don’t need Mathematica to see this or other equally impressive images at the site above. They are well worth the time and effort to browse, and it was nice that Jeff made the effort to produce and share them with others.

Researchers in many fields will appreciate that Wolfram Research has external data sources available for download from Wolfram servers, where it is kept up to date. This is important because many Mathematica users add or import research data, but must be concerned how current the data is, since science is a rapidly changing field. Anyone that has had the onerous task of manually installing massive amounts of data for a project knows the time spent installing updates can be put to better use. Like sleeping, eating, or having a social life. I tested Mathematica using Astronomy and Biochemistry topics I’ve seen in research and was impressed how easy it was to retrieve the data. Nearby stars, elements and their properties, and complex chemical structures were easily downloaded and accessible. Nice!

Before the internet, Educators would need a graphics artist to create slides for projection onto a wall – few lower education facilities could afford studios to create movies, so slideshows were typically the best students could expect to see. Now educators can use some of the new built-in functions that help demonstrate mathematic and physics concepts to their classes. Mathematica also provides tools (like slider gadgets) to let users manipulate the data models to see how changes to settings influence the output as those variables change. Again, nice!

Every math class I’ve taken, regardless of the level of education, has answers in the back of the book to let the student check their homework. But, most text books only have some of the answers in the back, so you either need to purchase a solutions guide or check the unlisted answers with the teacher. I don’t advocate trying to use the software to do your homework, but it helped me a lot this semester as I could check my work before turning assignments in to the professor. Parents that have struggled when helping their children with math homework will appreciate this capability too. It really makes a difference and I can’t imagine taking a math or physics class without Mathematica.

Programmers will enjoy the application support built into Mathematica. It already was able to interface with C++, Java, .NET, and XML code, and Wolfram added more external integration support in release 6.x, providing additional external device support, new system control and monitoring functionality, new integrated Web Services support, and they improved the file capabilities. I am currently testing this aspect of Mathematica and hope to have a follow up article soon with my findings.

I haven’t covered some of the other features of the product yet – using notebooks to group and distribute data, document formatting and publication, file (audio and video) format conversion, number theory, how to create presentations and generate spreadsheets, and areas more focused on topics of interest to heavier math users. Too much to cover in one review and do a proper job for our readers or for the vendor of this powerful product.

I want all of our readers, not just Mathematicians and Engineers, to know that this product is worthwhile and useful. It can do so much for people attending or teaching math or science or programming classes. Version 6.x has 1500 – yes, 1500 – new features over the 5.2 release. I’ve covered a few new features, as well as explained some existing functionality to help you understand Mathematica. For a detailed list of all new features in Mathematica version 6.x, see http://reference.wolfram.com/mathematica/guide/SummaryOfNewFeaturesIn60.html

Negatives

Mathematica does take a fair amount of hard drive space, and I’m guessing a faster process would be better, and it is not the fastest program to launch (although it is far from the slowest I’ve used). You need internet access to take advantage of the load-on-demand data support. And price is an issue for any license beside the student license.

Recommendation

Highly recommended. Documentation is available online and it is extensive and easy to use. Any student attending university that needs to take more than basic math or science or programming classes will find this product useful. While a tad on the pricy side for small businesses, it does the same as a number of other commercial applications and maybe it is time to consider changing from those packages to just one.

Please Note

This article originally appeared in the December 2007 issue of Software Editorial. Click here to read my review of Mathematica 6 for the Mac OS in MacWorld UK, and click here to read my review of Mathematica 7 at Software Latest.

IntelliJ IDEA 9.0.2
From: JetBrains (http://www.jetbrains.com/idea/)
By Mike Hubbartt, © Copyright 2010, All Rights Reserved.

Programmers have a general tendency to like a particular IDE (Integrated Development Environment) to use when writing code. I have tried a number of free IDEs and especially like Eclipse, but that doesn’t mean I don’t use others when needed.

Six months ago I saw a discussion on a Java coding forum about IDEs and there were a number of developers that talked about IntelliJ IDEA from JetBrains. Version 8.x of IDEA was a commercial product and I didn’t want to spend the $299 to get it since I already have and like Eclipse, but shortly after that time JetBrains decided to release a Community Edition and a Ultimate Edition for version 9.x. Upon release of 9.0.0, I downloaded the Community Edition and installed it on my netbook and Macbook, and I have to admit I like it.

Using the Product

The most interesting and unique aspect of this IDE is the way it is organized. Every bit of space in the 4 borders is utilized. This is a screen shot of the IDE:

There are buttons on every border, providing shortcuts to many things typically available as menu or keyboard shortcuts. I like how Eclipse has tabs across the top of the editor that has the various classes and interfaces, but only so many show up at once. IDEA uses multiple rows, so all classes and interfaces for a project are opened and clearly visible – in the screen shot above I have 5 classes and 2 interfaces open, and I could have all 10 project files open at once if I so choose (see the next screen shot for 10 open tabs). I should add that it is easy to see that the files are classes or interfaces in both the project list to the left and the editor tabs at the top. Very convenient.

There is good version control support – CVS, Git, and Subversion, and I like how it is just too simple to generate and run Ant builds for a project:

This particular Ant build was done by selecting the menu option ‘Build/Generate Ant Build…’, and then I selected the options I wanted (kept the build in the same area as IDEA, not Eclipse, so the XML content was only visible to the IDEA IDE).

Some of my classes can get a bit long, so I like is how easy it is to show line numbers in the editor. To show them, use the menu option ‘View/Show Line Numbers’ and they are available for the current class or interface – this isn’t a global project setting and I don’t think it should be. Much easier than opening a properties screen and setting it for everything in the IDE.

IDEA also supports exporting an individual class or the entire project as HTML. This would be nice for Computer Science professors that just want to see the source code or for team code reviews. HTML files can contain hyperlinks as well as line numbers, so the code is easy to read.

I started with a fresh install of version 9.0.0 and updated to versions 9.0.1 and 9.0.2 when they were available. I did have some problems, but JetBrains support provided timely and accurate responses to address the problems. To see my issue with the 9.0.1 update, see my comments about the C/C++ plug-in below. The issue with the 9.0.2 update was platform-specific: I had no problem updating IDEA on a netbook running XP, but had to manually install the updated version on my Macbook.

I’m only going to mention two plug-ins: Eclipse Integration and C/C++. The Eclipse Integration plug-in lets you access and modify a project created in Eclipse. I was using Eclipse to write the Java code for a C compiler, and I wanted to see how well this Eclipse plug-in worked. All I had to do was Select the ‘File/New Project’ option, select ‘Import project from external model, press the ‘Next’ button, give the IDEA project a name and then enter the project files location. Simple, fast, and virtually foolproof. When I made changes in IDEA, I switched back to Eclipse and saw a pop-up saying the contents were modified and asked if I wanted to replace the editor contents with those contents. When I made and saved changes in Eclipse and switched back to IDEA, the editor contents automatically updated to show the new contents.

Now the reason I’m discussing the C/C++ plug-in was because it worked when I downloaded and installed version 9.0.0, but it caused an error with the IDE when I updated to version 9.0.1. I contacted JetBrain’s tech support on a Sunday with the symptoms and they replied the same day (pretty impressive support for a free product, don’t you think?). They told me to disable the C/C++ plug-in and I did and the IDE worked fine. When version 9.0.2 came out, I figured they would have address this but they hadn’t, which is depressing. I emailed their support (and had fast response from Serge – thanks), and the only news I had was that version 9.0.2 was not a release to fix plug-in issues, so hopefully they will address this in version 9.0.3.

Conclusion

I like this IDE. The layout of the tools and options is logical and fairly intuitive. I appreciate that JetBrains uses the top, sides and bottom of the IDE to put in things normally accessed from menus. Ant, version control and exporting are excellent, and the ease to access existing Eclipse projects is an absolute plus, since it lets a programmer use either IDE when working on team projects.

Positives

  • It is free and it is open source. Huge!
  • It is one of the faster Java IDEs I’ve used.
  • The UI is logically organized, with buttons on all 4 borders of the IDE.
  • The Eclipse Integration plug-in is ideal for environments with mixed IDEs.
  • Exporting as an Eclipse project and as HTML is fast, simple, and useful.
  • Simple to generate and run Ant builds.
  • Tech support is fast in responding to issues.
  • Good online help.

Negatives

  • The Community Edition does not support J2EE development.
  • Updating – I had issues moving to versions 9.0.1 and to 9.0.2. I checked with the JetBrains help desk and they said the same was true when moving from 9.0.2 to 9.0.3 – I have to say I don’t see why this is necessary and hope they address this before the 9.0.4 update.
  • The C/C++ plug worked in version 9.0.0 but not in versions 9.0.1 or 9.0.2. Why?

Recommendation

Get it. It is powerful, free, the UI is different than the Eclipse and Eclipse-derivative IDEs, and the performance was impressive. I enjoyed being able to link to a project I had in Eclipse, make modifications, and have those changes available when I launch Eclipse.