120 likes | 133 Views
Delve into the comparison between programming and packaged software, exploring their differences in ease of use, flexibility, and application. Discover the various classes and programming languages like Python, VBA, and more for different purposes.
E N D
Programming vs. Packaged • Packaged: • Easier if what you need is available • Programming: • Takes longer, can do anything
Related Classes • GSP 470/570: Spatial Modeling • GSP Programming II: Fall 2018 • CS 325 Database Design • W3Schools and other great web sites!
Servers Workstation Sensors Mobile
Types of Languages • Scripted • Each line of code is parsed, then executed • Fast to write, slow to execute • Great for data acquisition and preparation • Compiled • Entire program is compiled, then executed • Slower to write, faster to execute • Best where speed is needed • Large data prep (LiDAR, UAV) • Simulations
Applications w/Scripting • Excel w/VBA • R, SPSS, SAS • ArcGIS, QGIS, BlueSpray… • MatLab • Logo • Stella, GME • Browsers: JavaScript • Others…
Scripting Languages • VBA in Excel • Easiest to prep data in Excel • Python • Most common for GIS • Interfaces to SciPy, R • R • Vector and Matrix based statistics • PHP • Was most popular for server-side-scripting • Python!
Excel VBA • File -> Options -> Customize Ribbon • Under “Customize the Ribbon”, check “Developer” • Developer Tab -> Visual Basic • Right Click on the menu bar and select “Debug” to show debugging tools
Compiled Languages • VB • Windows-only • Visual Studio: powerful but expensive • Visual Studio Code? • Relatively easy to write • Java • Portable • Relatively easy to write • Free • C#: Microsoft’s answer to Java • C++: Too hard to write • Fortran: Going away
Servers Workstation Sensors Mobile
Programming Languages • Servers: • PHP • Python • C++ • C# • Java • Mobile: • Android: Java • Apple: xCode • Sensors: • Python • Workstations: • C++ • Java • Python • SQL (database) • C# • Browsers: • HTML • CSS • JavaScript
Python GIS Libraries • ArcGIS: lots of functions, expensive, slow • QGIS API is really challenging • BlueSpray: fast, limited features, documentation, testing • GeoPandas: Up and coming? • Lots of open source libraries • Only can get it to work with Anaconda? • Not as many features as ArcPy but we can do anything in Python!