10-04-2010, 10:14 AM
Just to add my $0.02,
I agree that programming knowledge is a strong tool for engineers to have. It has been said above that often the model that a particular software packages uses might not suit your needs 100% and you may need to write your own program. I have used a number of tools out there that have given me pretty good results for a few small structural programs that I have needed. I am not sure what the OP considers an "easy" package to create GUI's for there programs and write code for, but I have had some experience with a few combination's that I have used to meet my needs and I will provide a summary below.
1) Excel + VBA - An obvious choice to start out for many calculations. Excel provides and easy way to layout and format your calculations and the list of functions available are quite easy to navigate and you are able to get results fast. You can extend your calculations using VBA when needed which opens up many windows for opportunity. It is also a easy way to share your work as Excel is widely used in the engineering community. The thing I don't like about excel is that often because it is so easy to get started working in the problem it is not defined fully at the start and as a result the workbook gets cut can changed over and over again to meet a certain need. When this happens, there is often bugs in the calculations that may or may not be easy to spot.
2) MATLB / OCTAVE / FREEMAT - Great packages for numerical analysis. The language is quite easy to pick up for engineers and working with arrays / matrices is much much easy then in excel (in my opinion). MATLAB graphs / graphics are also the best I have ever seen. MATLAB also has GUI capabilities, but I found these to be rather limited although useful for small applications. The disadvantage here is that in order to create a (Limited) GUI, you need to use MATLAB which cost quite a bit for a commercial license. It is the toolboxes that MATLAB offers that give real value to the language but for the majority of us (in civil engineering sense) we can probably get away without ever needing some of these specialized toolboxes.
3) PYTHON - Last but not least this is my favorite language. It is open source, easy to learn and easy to build programs fast. The real power comes from the number of free (typically open source) packages that you can install. There is numpy for matlab type matrix operations etc, matplotlib for matlab type plotting and thousands of other useful packages. I have been experimenting with the wxpython framework for building GUI's and I have to say I am very impressed. I generally use Python where writing something in Excel / VBA is going to be a nightmare to create and maintain or if I want to take advantage of some third party modules like the ones mentioned above. I will leave it there about python for now as I could happily go on about how useful I find the language for applications in the engineering field.
Regards elbarto
I agree that programming knowledge is a strong tool for engineers to have. It has been said above that often the model that a particular software packages uses might not suit your needs 100% and you may need to write your own program. I have used a number of tools out there that have given me pretty good results for a few small structural programs that I have needed. I am not sure what the OP considers an "easy" package to create GUI's for there programs and write code for, but I have had some experience with a few combination's that I have used to meet my needs and I will provide a summary below.
1) Excel + VBA - An obvious choice to start out for many calculations. Excel provides and easy way to layout and format your calculations and the list of functions available are quite easy to navigate and you are able to get results fast. You can extend your calculations using VBA when needed which opens up many windows for opportunity. It is also a easy way to share your work as Excel is widely used in the engineering community. The thing I don't like about excel is that often because it is so easy to get started working in the problem it is not defined fully at the start and as a result the workbook gets cut can changed over and over again to meet a certain need. When this happens, there is often bugs in the calculations that may or may not be easy to spot.
2) MATLB / OCTAVE / FREEMAT - Great packages for numerical analysis. The language is quite easy to pick up for engineers and working with arrays / matrices is much much easy then in excel (in my opinion). MATLAB graphs / graphics are also the best I have ever seen. MATLAB also has GUI capabilities, but I found these to be rather limited although useful for small applications. The disadvantage here is that in order to create a (Limited) GUI, you need to use MATLAB which cost quite a bit for a commercial license. It is the toolboxes that MATLAB offers that give real value to the language but for the majority of us (in civil engineering sense) we can probably get away without ever needing some of these specialized toolboxes.
3) PYTHON - Last but not least this is my favorite language. It is open source, easy to learn and easy to build programs fast. The real power comes from the number of free (typically open source) packages that you can install. There is numpy for matlab type matrix operations etc, matplotlib for matlab type plotting and thousands of other useful packages. I have been experimenting with the wxpython framework for building GUI's and I have to say I am very impressed. I generally use Python where writing something in Excel / VBA is going to be a nightmare to create and maintain or if I want to take advantage of some third party modules like the ones mentioned above. I will leave it there about python for now as I could happily go on about how useful I find the language for applications in the engineering field.
Regards elbarto
.