Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Compiler



  The Wasteful Legacy of Programming as Language

A few years ago I visited a friend who is a graduate student in linguistics. After some time he asked me if I was aware of the work by Chomsky on formal languages. I told him that yes, Chomsky work was a basis for much of the developments in theoretical computer science. More than that, I was glad to learn that there was something technical that I could share and discuss with other people in linguistics. At the time I found this was just a great coincidence. It was only recently, though, t...

   Programming language,Human language,Chomsky     2011-11-28 10:36:34

  Obviously Correct

What do automatic memory management, static types and purity have in common? They are methods which take advantage of the fact that we can make programs obviously correct (for some partial definition of correctness) upon visual inspection. Code using automatic memory management is obviously correct for a class of memory bugs. Code using static types is obviously correct for a class of type bugs. Code using purity (no mutable references or side effects) isobviously c...

   Memory management,Code,Static,Purity     2011-11-07 08:13:05

  C++11 multithreading tutorial

The code for this tutorial is on GitHub: https://github.com/sol-prog/threads. In my previous tutorials I’ve presented some of the newest C++11 additions to the language: regular expressions, raw strings and lambdas. Perhaps one of the biggest change to the language is the addition of multithreading support. Before C++11, it was possible to target multicore computers using OS facilities (pthreads on Unix like systems) or libraries like OpenMP and MPI. This tutorial is meant to get you st...

   C++,Multithreading,Standard 11,Demo     2011-12-18 00:50:35

  Pointers, arrays, and string literals

A recently posted question on Stack Overflow highlighted a common misconception about the role of pointers and arrays held by many programmers learning C.The confusion stems from a misunderstanding concerning the role of pointers and strings in C. A pointer is an address in memory. It often points to an index in an array, such as in the function strtoupper in the following code:void strtoupper(char *str) { if (str) { // null ptr check, courtesy of Michael while (...

   char pointer,initialization,literal,cann     2011-09-22 13:29:23

  Building the new AJAX mail UI part 2: Better than templates, building highly dynamic web pages

This is part 2 of a series of technical posts documenting some of the interesting work and technologies we’ve used to power the new interface (see also part 1, Instant notifications of new emails via eventsource/server-sent events). Regular users can skip these posts, but we hope technical users find them interesting. As dynamic websites constructed entirely on the client side become de rigueur, there are a number of templating languages battling it out to become the One True Wayâ„...

   Web design,Dynamic,Ajax,UI     2012-02-21 05:32:29

  Guide to use Compass

Sass is one kind of CSS Preprocessor, it can make CSS development simple and maintainable. But to show its real power we may need to have Compass. This article is to introduce Compass. Once you learn Compass, your CSS development efficiency will be largely improved. Here we assume you have mastered the major uses of CSS, if you know Sass, then it's better. It's still ok if you don't know Sass. 1. What is Compass? In simple, Compass it the toolkit of Sass. Sass itself is only a compiler, Compass...

   Compass,CSS,Sass,Tutorial     2012-12-03 13:35:46

  Microsoft wakes up to Open Source … in a big way!

Contrary to popular belief, Microsoft loves open-source. No, really! Don’t believe me? Read on: Today, Microsoft announced that it is open-sourcing all of its flagship web/cloud platform: ASP.NET MVC Web Pages (aka Razor), Web API. Importantly … these projects will be publicly hosted and that the team will continue development in the open (you’ll be able to view the repository and see the code commits as they happen) and that Microsoft will even cons...

   Oepn source,Microsoft,Ruby     2012-04-01 04:23:42

  Using Angular 2 with Asp.Net MVC/Asp.Net Core

Asp.net development professionals bring this post to explain the use of Angular 2 with Asp.net MVC/ Core. You will read the overview of Angular 2 and Asp.net Core at first in this post. Read the article to find how experts use Angular 2 with MVC / Core. Angular 2 Overview Angular 2 is the upcoming version of MV framework used for creating high level applications in browser. It contains everything needed to create a complex mobile or web apps from a variety of templates. Angular team recently re...

   ASP.NET DEVELOPMENT,ANGULAR 2, ASP.NET MVC     2016-10-29 05:15:06

  Signs that you're a bad programmer

1. Inability to reason about codeReasoning about code means being able to follow the execution path ("running the program in your head") while knowing what the goal of the code is.SymptomsThe presence of "voodoo code", or code that has no effect on the goal of the program but is diligently maintained anyway (such as initializing variables that are never used, calling functions that are irrelevant to the goal, producing output that is not used, etc.)Executing idempotent functions multiple times (...

   Sign,Programmer,Characteristics,Knowledge,Skill     2011-10-20 08:56:16

  Python Patterns - An Optimization Anecdote

The other day, a friend asked me a seemingly simple question: what's the best way to convert a list of integers into a string, presuming that the integers are ASCII values. For instance, the list [97, 98, 99] should be converted to the string 'abc'. Let's assume we want to write a function to do this. The first version I came up with was totally straightforward: def f1(list): string = "" for item in list: string = string + chr(item) return string ...

   Python,Optimization,Anecdote,Loopup,ASCII     2011-12-18 10:52:49