Difference between revisions of "Johnllopez Week 11"
From LMU BioDB 2017
(→Article Outline: Added info about research dev, enterprise dev, etc) |
(→Article Outline: Organized my outline even more) |
||
Line 15: | Line 15: | ||
#Paul Ford describes the cause and effect relationship between modern programming practices and informs the reader that adapting to the industry changes the industry. | #Paul Ford describes the cause and effect relationship between modern programming practices and informs the reader that adapting to the industry changes the industry. | ||
##Explicates the origins of several contemporary programming languages and why they were developed. | ##Explicates the origins of several contemporary programming languages and why they were developed. | ||
− | ##Provides insight to the ever changing environment of software development | + | ##Provides insight to the ever changing environment of software development and how developers adjust to meet the demands of the industry. |
##Explains how the needs over time change for software use, yet developers have the ability to adapt. | ##Explains how the needs over time change for software use, yet developers have the ability to adapt. | ||
− | # | + | #Ford discusses the most important/popular languages and development environments, like relational databases, Java, and JavaScript. |
##Implementing Relational Databases is the Best Approach to Handle Big Data. | ##Implementing Relational Databases is the Best Approach to Handle Big Data. | ||
###Relational Databases use the Structured Query Language | ###Relational Databases use the Structured Query Language | ||
Line 29: | Line 29: | ||
###Several manuals, workshops, lessons, and training opportunities. | ###Several manuals, workshops, lessons, and training opportunities. | ||
###Virtual machine enabled Java to run on most common computers, allowing implementation for many large companies for several purposes. | ###Virtual machine enabled Java to run on most common computers, allowing implementation for many large companies for several purposes. | ||
− | |||
##Over Time, the Functionality of JavaScript Grew from Simply Making Pages Interactive, to Using Web Pages as Software, to Being Used Outside of Web Pages | ##Over Time, the Functionality of JavaScript Grew from Simply Making Pages Interactive, to Using Web Pages as Software, to Being Used Outside of Web Pages | ||
###Initially used within pages for animations and page style. | ###Initially used within pages for animations and page style. | ||
Line 38: | Line 37: | ||
###"If you knew how JavaScript worked on a Web page, then you could make it work on a server" (Ford). | ###"If you knew how JavaScript worked on a Web page, then you could make it work on a server" (Ford). | ||
###NPM helps install packages for JavaScript | ###NPM helps install packages for JavaScript | ||
+ | #The main points of this work were: | ||
+ | ##Programming languages are constantly changing to increase usability and proficiency. | ||
+ | ###Languages like Clojure, Jython, and JRuby have different syntax yet run using the JVM | ||
+ | ###Formerly common languages such as PHP are becoming obsolete in favor of newer, more efficient languages | ||
+ | ###Java applets, once used widely are considered impractical now | ||
##Although each programming project serves a different purpose, there are similar trends in development despite differences in the objective. | ##Although each programming project serves a different purpose, there are similar trends in development despite differences in the objective. | ||
###Enterprise programming uses Java despite the fact they don't specifically sell software. | ###Enterprise programming uses Java despite the fact they don't specifically sell software. | ||
Line 43: | Line 47: | ||
###Software development companies use Java for a multitude of tasks and project sizes. | ###Software development companies use Java for a multitude of tasks and project sizes. | ||
###Web application developers, web developers, and server managers can use JavaScript despite its original intended use. | ###Web application developers, web developers, and server managers can use JavaScript despite its original intended use. | ||
− | + | #Keeping up to date with current JavaScript practices and possibly using the NPM | |
− | + | ##Something about staying up to date | |
− | ## | + | ##Something about Node.JS |
− | ## | ||
− | |||
− | |||
− | |||
==Acknowledgements and References== | ==Acknowledgements and References== |
Revision as of 02:24, 14 November 2017
Contents
Development Vocabulary
- RFC 5321: RFC 5321 is a document that defines Simple Mail Transfer Protocol for the community to discuss, suggest, and make improvements upon. SMTP is intended to be the basic protocol for e-mail transport and is intended to be the standards of designing the way emails are sent (Klensin, 2008).
- RFC 5322: Like RFC 5321, RFC 5322 is designed to be a basic protocol for a form of internet communication and is created for the community to discuss, suggest, and make improvements upon. However, RFC 5322 defines the Internet Message Format, a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages (Resnick, 2008).
- Java Applet: An applet is Java program that a browser enabled with Java technology can download from the internet and run. An applet is typically embedded inside a web page and runs in the context of a browser ("Lesson: Java Applets").
- SQLite: An embedded SQL database engine with multiple tables, indices, triggers, and views contained in a single disk file. In addition, it does not need a server. It is free to use for anybody ("About SQLite").
- Enterprise Programming: Enterprise programming is when a programmer develops software for a large company/organization whose main objective is not to develop software. The software is typically meant to have a great number of users (Ilardi, 2017).
- Bytecode: The machine language of the Java virtual machine. This means any instructions written by the programmer are translated into this from the original syntax, and the results are interpreted by the JVM. (Venners, 1996).
- Clojure: Clojure is a programming language that runs off the Java Virtual Machine and uses Java's structure while maintaining the syntax of the Lisp programming language. ("Rationale").
- NPM: Short for Node Package Manager, NPM contains thousands of reusable, free JavaScript packages for software developers to use. NPM is installed alongside Node.js. New packages can be installed from the command line and packages can be used within typical JavaScript syntax. ("Node.js NPM").
- V8: V8 is a JavaScript engine that compiles and executes JavaScript source code, handles memory allocation for objects, and garbage collects objects it no longer needs. V8 enables any C++ application to expose its own objects and functions to JavaScript code. (Thompson, 2015).
- Netscape: Just as Paul Ford's article says, Netscape was one of the first commercial browsers. Netscape was released in 1994 and did not offer support for Java and JavaScript until version 2.0. (Heisler, 2014).
Article Outline
- What is the main message of this work? *Although people will program using techniques from a certain foundation, the methods will change over time //This is crap, reword it
- Paul Ford describes the cause and effect relationship between modern programming practices and informs the reader that adapting to the industry changes the industry.
- Explicates the origins of several contemporary programming languages and why they were developed.
- Provides insight to the ever changing environment of software development and how developers adjust to meet the demands of the industry.
- Explains how the needs over time change for software use, yet developers have the ability to adapt.
- Ford discusses the most important/popular languages and development environments, like relational databases, Java, and JavaScript.
- Implementing Relational Databases is the Best Approach to Handle Big Data.
- Relational Databases use the Structured Query Language
- Represent the world using tables containing rows and columns
- Commercial Enterprises (Oracle) and Free Software Databases (PostgreSQL, MySQL, SQLite)
- "Data management is the problem that programming is supposed to solve" (Ford).
- Allows us to have web services that store large quantities of different types of data (Amazon, Netflix, Spotify) and lets data be retrieved on small devices (SQLite)
- A Majority of "Big Corporate Programmers" use Java Because of Its Class Library, Available Documentation/Manuals, and Virtual Machine. (Should we talk about its rough start or nah?)
- Class Library contained classes and methods needed for several commonly used purposes such as math, databases, document management, and network services.
- Documentation automatically generated using javadoc.
- Several manuals, workshops, lessons, and training opportunities.
- Virtual machine enabled Java to run on most common computers, allowing implementation for many large companies for several purposes.
- Over Time, the Functionality of JavaScript Grew from Simply Making Pages Interactive, to Using Web Pages as Software, to Being Used Outside of Web Pages
- Initially used within pages for animations and page style.
- With the rise of Ajax, JavaScript became the main language for web programming web applications
- V8 engine in Chrome allowed JavaScript to run faster
- Modifications on the V8 engine allowed JavaScript to run outside of the browser
- Creation of packages like Node.js
- "If you knew how JavaScript worked on a Web page, then you could make it work on a server" (Ford).
- NPM helps install packages for JavaScript
- Implementing Relational Databases is the Best Approach to Handle Big Data.
- The main points of this work were:
- Programming languages are constantly changing to increase usability and proficiency.
- Languages like Clojure, Jython, and JRuby have different syntax yet run using the JVM
- Formerly common languages such as PHP are becoming obsolete in favor of newer, more efficient languages
- Java applets, once used widely are considered impractical now
- Although each programming project serves a different purpose, there are similar trends in development despite differences in the objective.
- Enterprise programming uses Java despite the fact they don't specifically sell software.
- Academic research develops with Java despite generally lacking user interfaces.
- Software development companies use Java for a multitude of tasks and project sizes.
- Web application developers, web developers, and server managers can use JavaScript despite its original intended use.
- Programming languages are constantly changing to increase usability and proficiency.
- Keeping up to date with current JavaScript practices and possibly using the NPM
- Something about staying up to date
- Something about Node.JS
Acknowledgements and References
References
Cojure. Rationale. Retrieved November 12, 2017, from https://clojure.org/about/rationale Ford, Paul. (2015, June 11). What is Code?. Retrieved November 12, 2017, from https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/#the-time-you-attended-the-e-mail-address-validation-meeting Heisler, Naomi. (2014, October 14) A Visual History of Netscape Navigator. Retrieved November 12, 2017,from https://www.networkworld.com/article/2833526/software/a- visual-history-of-netscape-navigator.html Ilardi, Robert. (2017, November).About Enterprise Programming. Retrieved November 12, 2017, from https://enterpriseprogrammer.com/about-enterprise-programming/ Java. Lesson: Java Applets'. Retrieved November 12, 2017, from https://docs.oracle.com/javase/tutorial/deployment/applet/index.html Klensin, J. (2008, October). RFC 5321. Retrieved November 12, 2017, from https://tools.ietf.org/html/rfc5321 LMU BioDB 2017. (2017). Week 11. Retrieved November 12, 2017, from https://xmlpipedb.cs.lmu.edu/biodb/fall2017/index.php/Week_10 Resnick, Ed. (2008, October). RFC 5322. Retrieved November 12, 2017, from https://tools.ietf.org/html/rfc5322 SQLite.About SQLite. Retrieved November 12, 2017, from https://www.sqlite.org/about.html Thompson, Seth. (2015, November 25). Introduction. Retrieved November 12, 2017, from https://github.com/v8/v8/wiki/Introduction Venners, Bill. (1996, September 1). Bytecode Basics. Retrieved November 12, 2017, from https://www.javaworld.com/article/2077233/core-java/bytecode-basics.html W3Schools. Node.js NPM. Retrieved November 12, 2017, from https://www.w3schools.com/nodejs/nodejs_npm.asp
Individual Journal Entries and Assignments
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Week 8
- Week 9
- Week 10
- Week 11
- Week 12
- Week 14
- Week 15
Class Assignments
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Week 8
- Week 9
- Week 10
- Week 11
- Week 12
- Week 14
- Week 15
Class Weekly Journal Entries / Project Weekly Journal Entries
- Class Weekly Journal 1
- Class Weekly Journal 2
- Class Weekly Journal 3
- Class Weekly Journal 4
- Class Weekly Journal 5
- Class Weekly Journal 6
- Class Weekly Journal 7
- Class Weekly Journal 8
- Class Weekly Journal 9
- Class Weekly Journal 10
- Class Weekly Journal 11
- Project Journal Week 12
- Project Journal Week 14
- Project Journal Week 15
My Page