Difference between revisions of "Current Toolset"

From Simson Garfinkel
Jump to navigationJump to search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
Because there are so many choices when developing software, I am trying to standardize on a relatively restricted toolset.
Because there are so many tools and other choices when developing software, I am trying to standardize on a relatively restricted toolset.


==Programming Languages==
==Programming Languages==
{| width="100%"                                                                                                                                                                                                                                                 
|-                                                                                                                                                                                                                                                               
| width="50%" style="vertical-align:top" |
;Current:
;Current:
* Python (easy to use, but slow, and hard to share with others)
* Python (easy to use, but slow, and hard to share with others)
* [[Java Notes|Java]] (because it runs nearly as fast as C/C++ and is more portable)
* C/C++ for legacy computer forensics software.
* C/C++ for legacy computer forensics software.
* Java (because it runs faster than C++ and is more portable)
| width="50%" style="vertical-align:top" |
;Goal:
;Goal:
* Python (easy to use, but slow, and hard to share with others)
* Python (easy to use, but slow, and hard to share with others)
* Java (because it runs faster than C++ and is more portable)
* Java (because it runs faster than C++ and is more portable)
* Scala
* Scala
|}


==GUI Systems==
==GUI Systems==
{| width="100%"                                                                                                                                                                                                                                                 
|-                                                                                                                                                                                                                                                               
| width="50%" style="vertical-align:top" |
;Current & Past:
* Cocoa on MacOS
* Python with wxwidgets
| width="50%" style="vertical-align:top" |
;Goal:
* Java Swing
* Java Swing
* Python with tkinter (wxwidgets is better, but it is not installed by default and it is hard to get working sometimes.)
* Python with tkinter (wxwidgets is better, but it is not installed by default and it is hard to get working sometimes.)
|}


There are many better systems, like Cocoa on MacOS. But if you want other people to use your software, it's best sticking with technologies that other people have.
There are many better systems, like Cocoa on MacOS. But if you want other people to use your software, it's best sticking with technologies that other people have.


==Statistics and graphing==
==Statistics and Graphing==
{| width="100%"                                                                                                                                                                                                                                                 
|-                                                                                                                                                                                                                                                               
| width="50%" style="vertical-align:top" |
;Current
* Custom-written programs in Python
* Custom-written programs in Python
* matplotlib for graphing
* matplotlib for graphing
I am trying to move to R.
| width="50%" style="vertical-align:top" |
;Goal
* I am trying to move to R.
|}
 
==Web Development==
* HTML
* CSS
* PHP
* MediaWiki

Latest revision as of 10:36, 18 June 2009

Because there are so many tools and other choices when developing software, I am trying to standardize on a relatively restricted toolset.

Programming Languages

Current
  • Python (easy to use, but slow, and hard to share with others)
  • Java (because it runs nearly as fast as C/C++ and is more portable)
  • C/C++ for legacy computer forensics software.
Goal
  • Python (easy to use, but slow, and hard to share with others)
  • Java (because it runs faster than C++ and is more portable)
  • Scala

GUI Systems

Current & Past
  • Cocoa on MacOS
  • Python with wxwidgets
Goal
  • Java Swing
  • Python with tkinter (wxwidgets is better, but it is not installed by default and it is hard to get working sometimes.)

There are many better systems, like Cocoa on MacOS. But if you want other people to use your software, it's best sticking with technologies that other people have.

Statistics and Graphing

Current
  • Custom-written programs in Python
  • matplotlib for graphing
Goal
  • I am trying to move to R.

Web Development

  • HTML
  • CSS
  • PHP
  • MediaWiki