Hiring is broken on so many different levels, and it starts right there, at the job offer description. It then continues all the way down to the actual interview process.

Hire people who aren't proven

Could not agree more with this argument.

The much anticipated 1.0 release of Julia is the culmination of nearly a decade of work to build a language for greedy programmers. JuliaCon2018 celebrated the event with a reception where the community officially set the version to 1.0.0 together.

Julia 1.0.0 Release

After reading the stated goals for creating Julia I am going to have to spend some time learning it.

Lily is a programming language that's been under development for several years. Lily is statically-typed, with an interpreter as a reference. Lily uses reference counting for memory management with garbage collection as a fallback.

Seems like everyone is building their own language these days.

Bellenson (a molecular biologist) and Smith (an industrial engineer), had previously launched a successful gene sequencing software company. If anyone had the technical chops to digitize scent, it was them.

The failed quest to bring 'Smells' to the Internet

This was one of my first programming jobs and still one of the most fun jobs I ever had. I wish the ride hadn't ended so abruptly.

Recognizing Keywords

Most programming languages have a set of reserved keywords. The compiler or interpreter has to have a way to identify those keywords while the source code is being read. Here is how I do it for Cube.

Gravity is a powerful, dynamically typed, lightweight, embeddable programming language written in C without any external dependencies (except for stdlib). It is a class-based concurrent scripting language with a modern Swift like syntax.

Gravity

Now that I am paying attention I see interesting new programming languages popping up all over the place.

T2b - A wicked-powerful text macro language for building binary files. Supports comments, looping, Unicode, variables, conditionals, macros and recursion.

T2b Github

Interesting little language for generating binary files. All done in less than 300 lines of C++ code.

Starting the Cube Project

Getting started on a new programming language and floundering around looking for how to structure the code. Fun, fun fun.

We are committed to being stewards of the GitHub community, which will retain its developer-first ethos, operate independently and remain an open platform.

Microsoft acquires Github

Fingers crossed that Microsoft means what they say and doesn't slowly ruin Github.

Interpreter Project: Inheritance

This is the last article in this series. The Lox language is feature complete, though far from actually complete. It is time to move on to something a little more realistic.

Interpreter Project: Classes

Classes were added to the language this time. Almost everything is in place, Class declarations, object initialization, properties, methods, references to 'this', etc. The only thing missing is Inheritance. That is added in the next section.

As normal as tracking all the stuff used to feel to me, after stopping I realized what a mental toll quantification had on me. Some quantification ties right into the variable reward pattern, some quantification (or lack thereof) leads to failed expectations and goal setting that really misses the point of setting goals to be healthy.

unquantified

Interesting take on also letting go of fitness tracking along with social media.

Interpreter Project: Resolving and Binding

This section was all about adding a Semantic Analysis step to the project. A Resolver is created to walk the Parse Tree and make note of where and how variables are accessed. That data is then provided to the Interpreter code to prevent a potential bug.

Mint is a refreshing, strongly typed, expression-oriented programming language for the front-end web.

Looks like an interesting language. I'm assuming it compiles to Javascript, though I can't seem to find out for sure from their documentation.

Interpreter Project: Functions

Function declarations and function calls. This looks like a real language now. Of course there is no standard library, no networking library, input / output library, etc. It is apparent to me now that the language definition is relatively easy. It is all the supporting libraries that constitute the bulk of the work.

Proxies are a tool used for metaprogramming. They allow you to reach into common object operations, such as getting and setting properties, and make them do whatever you want. All it takes is wrapping an object in a call to `new Proxy` to open up a magical realm.

Abusing Proxies for DSLs

Interesting DSL created in about 100 lines of Javascript. I wonder if it could be duplicated in Ruby.

Interpreter Project: Control Flow

Branching and looping, two very critical pieces of any Turing complete programming language, are now available. With all of the other work that has been done these features were quite easy to implement as well.

Anyone can say they want to "change the world" and that "it's not about the money" — but talk is cheap — so we made our mission legally binding. At a time when the world sometimes seems totally devoid of integrity, we really just wanted to create something with unquestionable integrity.

Building Ghost

Love this. A ray of light after months of disturbing news from tech.

Interpreter Project: Statements

A lot of work went into this section. Statements were added to the grammar, as well as variable declarations, variable assignment and scopes.

Interpreter Project: Evaluating Expressions

The interpreter code is now in place and working. The foundation on which the rest of the Lox language will be created is done.