Posted by Charlie Recksieck
Cheatsheet For Software Terms
Not-Not-Technical Job Types
We have two regular clients whom we work with every week where our main point of contacts there are not software developers by trade. That makes total sense, that’s why they hire us.
But both of those people in their job descriptions and in the real-world day-to-day responsibilites do end up having to configure things that work with or power their software. To put it another way, these two folks have to deploy our code, have to manage network settings, and very often have to fill out and maintain XML files that have key settings for their software.
To do their jobs, they frequently have to be "programmer-adjacent" in their work. As such, they need to be up on technical lingo and comments despite not needing to write code.
Where This List Came From
One of the two cases above, we have been doing extensive documentation on all of our work, settings, configuration instructions for them. In that same Wiki we created, we decided to keep a running list of terms that he found himself looking up or asking about in meetings. What follows below is that list of terms, which he titled as "Geek Speak". (We’re not offended by that.)
This list is very specific to his platform, software and schema for his particular job so it might not fit completely with what you deal with day-to-day. But they are pretty foundational concepts that you should know. We included links to Wikipedia definitions on supporting terms and definitions. If you really get into this, be prepared to go down a very useful and educational rabbit hole for a while!
FYI, I’m always desperate to "feed the beast" for the weekly blog deadline we have around here. I’m never shy to cannibalize content I’ve written in another context to use as a post here, it’s long as it’s relevant.
OK, enjoy ...
Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementationof Web Services in computer networks. It relies on Extensible Markup Language (XML) for its message format, and usually relies on other Application Layer protocols, most notably HypertextTransfer Protocol (HTTP) and SimpleMail Transfer Protocol (SMTP), for messagenegotiation and transmission.
The Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service (also referred to as a WSDL file)provides a machine-readable description of how the service can be called, whatparameters it expects, and what data structures it returns. It thus serves aroughly similar purpose as a method signature in a programming language.
Extensible Application Markup Language (XAML, pronounced like "zammel") is a declarative XML-based language created by Microsoftthat is used for initializing structured values and objects. It is available under Microsoft’s Open Specification Promise.
XAML is used extensively in .NET Framework 3.0 & .NET Framework 4.0 technologies, particularly Windows Presentation Foundation (WPF),Silverlight,Windows Workflow Foundation (WF) and Windows Runtime XAML Framework. In WPF,XAML forms a user interface markup language to defineUI elements, data binding, eventing, and otherfeatures. In WF, workflows can be defined using XAML. XAML is also used inVisual Studio 11 for Windows 8 Metro applications.
XAML elements map directly to Common Language Runtime object instances,while XAML attributes map to Common Language Runtime properties and events onthose objects. XAML files can be created and edited with visual design tools like Microsoft Visual Studio, and the hostable Windows Workflow Foundation visual designer. They can also be created and edited with a standard text editor, a code editor like XAMLPad, or a graphical editor like VectorArchitect
Anything that is created or implemented in XAML can beexpressed using a more traditional .NET language, such as C# or Visual Basic.NET. However, a key aspect of the technology is the reduced complexity needed for tools to process XAML, because it is based on XML. Consequently,a variety of products are emerging, particularly in the WPF space, which create XAML-based applications. As XAML is simply based on XML, developers and designers are able to share and edit content freely amongst themselves withoutrequiring compilation. Since it is strongly linked to the .NET Framework 3.0 technologies, the only fully compliant implementation at present is Microsoft’s
Extensible MarkupLanguage is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is defined in the XML 1.0 Specification produced bythe W3C, and severalother related specifications, all gratis open standards.
The design goals of XML emphasize simplicity, generality,and usability over the Internet. It is a textual data format with strong support via Unicode for the languages of the world. Although the design of XML focuses on documents, it is widely used for the representation of arbitrary data structures, for example in web services.
Many application programming interfaces (APIs) have been developed for software developers to use to process XMLdata, and several schema systems exist to aid in the definition of XML-based languages.
Windows Presentation Foundation is a computer-software graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0. Rather than relying on the older GDI subsystem, WPF utilizes DirectX. WPF attempts to provide a consistent programming model for building applications and provides a separation between the user interface and the business logic. It resembles similar XML-oriented object models.
In computing, "object model" has two related but distinct meanings:
- The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. For example, the Java objects model, the COM object model, or the object model of OMT. Such object models are usually defined using concepts such as class, generic function, message, inheritance, polymorphism, and encapsulation. There is an extensive literature on formalized object models as a subset of the formal semantics of programming languages.
- A collection of objects or classes through which a program can examine and manipulate some specific parts of its world. In other words, the object-oriented interface to some service or system. Such an interface is said to be the object model of the represented service or system. For example, the Document Object Model (DOM)  is a collection of objects that represent a page in a web browser, used by script programs to examine and dynamically change the page.
DOM Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML,XHTML and XMLdocuments.Objects in the DOM tree may be addressed and manipulated by using methods onthe objects. The public interface of a DOM is specified in its applicationprogramming interface (API).
Whereas a program may implement classes, which typically end in objects managing or executingbehaviors, a business object usually does nothing itself but holds a setof instance variables or properties, also known as attributes, and associations with other business objects, weaving a map of objectsrepresenting the business relationships.
For example, a "Principal" wouldbe a business object where its attributes can be "Name", "Secondname", "Age", "Area", "Country" and it couldhold an 1-n association with its employees (acollection of Employee instances).
Another example would be a concept like"Process" having "Identifier", "Name","Start date", "End date" and "Kind" attributesand holding an association with the "Employee" (the responsible) thatstarted it.
An acronym for an archetypal model of web service solution stacks, originally consisting of largelyinterchangeable components: Linux, the Apache HTTP Server,the MySQL relationaldatabase management system, and the PHPprogramming language. As a solution stack, LAMP is suitable for building dynamic web sites and web applications.
(L)inux is a Unix-like and mostly POSIX-compliant
(A)pache HTTP Server is the world’s most widely-used web server software.
(M)ySQL is (as of March 2014)the world’s second most[a] widely used
(P)HP is an acronym for"PHP: Hypertext Preprocessor" and is a server-side scriptinglanguage designed for web development butalso used as a general-purposeprogramming language. As of January 2013, PHP was installed on morethan 240 million websites (39% of those sampled) and 2.1million web servers. Originally created by Rasmus Lerdorf in 1994,
ASP Active Server Pages
, also known as Classic ASP or ASP Classic,was Microsoft’s first server-side script engine for dynamically generated web pages
Web pages with the .asp file extension use ASP, although some web sitesdisguise their choice of scripting language for security purposes (e.g. stillusing the more common .htm or .html extension). Pages with the .aspx extension use compiled ASP.NET (based on Microsoft’s .NET Framework), which makes them faster and morerobust than server-side scriptingin ASP, which is interpreted at run-time; however, ASP.NET pages may stillinclude some ASP scripting. The introduction of ASP.NET led to use of the term ClassicASP for the original technology.
Programmers write most ASP pages using VBScript, but any other Active Scripting enginecan be selected instead with the @Language directive or the
<script language="manu"runat="server">syntax. JScript (Microsoft’s implementation of ECMAScript) is the other language that is usuallyavailable. PerlScript (aderivative of Perl) and others are available as third-partyinstallable Active Scripting engines.
... is built on a client-server architecture and uses separate control and data connections between the client and the server. FTP users may authenticate themselvesusing a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS). SSHFile Transfer Protocol (SFTP) is sometimesalso used instead, but is technologically different.