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

SEARCH KEYWORD -- implementation



  One of the Best Bits of Programming Advice I ever Got

Years ago (early 1992), I attached myself to this crazy skunkworks project that was using this weird language called Smalltalk. "Object Oriented" was in its infancy as a "hot" item. High paid consultants. Lots of people laying claim to what this new object religion was all about. This was 5 years before Alan Kay would make the statement "I invented the term 'Object Oriented Programming' and this {Java and C++} is not what I had in mind."Shortly after hooking up with this whacky group with t...

   Programming advice,OOP,Smalltalk,Better design     2011-11-28 03:14:25

  Why is Great Design so Hard?

I want to take a slight detour from usable privacy and security and discuss issues of design. I was recently at the Microsoft Faculty Summit, an annual event where Microsoft discusses some of the big issues and directions they are headed. In one of the talks, a designer at Microsoft mentioned two data points I've informally heard before but had never confirmed. First, the ratio of developers to user interface designers at Microsoft was 50:1. Second, this ratio was better than any other comp...

   Apple,Microsoft,UI design     2011-03-28 02:06:31

  How to Understand and Use nil in Golang Correctly?

In Golang, nil is a predefined identifier that carries different meanings in various contexts, but typically represents "none", "empty" or "zero value". It can be assigned to variables of pointer, slice, map, channel, function, and interface types. Understanding the significance of nil is crucial for writing robust Go programs, as mishandling nil can lead to unexpected issues. nil in Pointers In Go, pointers are a fundamental type that stores the memory address of a variable. When a pointer is d...

   FUNCTION,SLICE,MAP,CHANNEL,GOLANG,NIL     2024-01-05 05:19:40

  How to write your own DSL in Ruby

DSL(Domain Specific Language) is a language defined to fulfill some domain specific requirements to ease people's work. It can be used to define attributes and actions of a domain easily and cleanly. And it is often created based on some common observations or micro patterns of some domain. In Ruby world, there are quite a few places people can find DSL. For example, Ruby itself, Chef recipes. To create a class in Ruby, the traditional OOP way would look like. class User @name = nil @email =...

   RUBY,DSL,TUTORIAL     2017-03-04 09:40:34

  Java vs F#

Dr Cliff Click of Azul Systems, specialists in manycore JVM systems, recently published a blog post about the performance of Java compared primarily to C and C++ but also discussing C# and .NET. Three of Cliff's comments are of particular interest:Under the heading "Places where C/C++ beats Java for obvious reasons":"Value Types, such as a 'Complex' type require a full object in Java." - Dr Cliff ClickWhat Cliff forgot to mention is that .NET also provides value types and a far more compell...

   Java,F#,Performance,JVM     2012-03-07 05:07:31

  Python Performance Tips, Part 1

To read the Zen of Python, type import this in your Python interpreter. A sharp reader new to Python will notice the word “interpreter”, and realize that Python is another scripting language. “It must be slow!” No question about it: Python program does not run as fast or efficiently as compiled languages. Even Python advocates will tell you performance is the area that Python is not good for. However, YouTube has proven Python is capable of serving 40 million videos...

   Python,Performance,Efficiency,Tips     2012-02-14 10:50:22

  Learning Ruby and Ruby vs Lisp

The company I work for has a lot of legacy Ruby code, and as Ruby has become kind of a mainstream language, I decided to get a book about it and learn how it works. As my learning resource, I chose The Ruby Programming language by David Flanagan and Yukihiro Matsumoto as that receives great customer reviews, covers Ruby 1.8.7 and 1.9 and is authoritative because the language creator is one of the authors. The book makes a good read in general. There are plen...

   Ruby,Feature,Functional,OOP,Lisp,Difference     2011-12-12 07:42:01

  The craziest Javascript implementations

Since its birth in 1994, Javascript has come a long way. Today it’s one of the most popular programming languages on the web because of high popularity of AJAX based web-applications. Also the rise of micro-frameworks such as jQuery (also Prototype, Moo Tools etc) which have reduced dramatically the complexity of code developers needed to write, it is well tested, has a ton of plug-ins, has a large development community and reduced development time.And lately even Server-S...

   JavaScript,Crazy implementation,JVM,Turing machine     2012-01-03 12:09:42

  Prototypes and Inheritance in JavaScript

Forget everything you know about object-oriented programming. Instead, I want you to think about race cars. Yes – race cars. Recently I was watching the 24 Hours of Le Mans –a popular racing event in France. The fastest cars in the race are the Le Mans Prototypes. Although these cars are built by car manufacturers like Audi and Peugeot, they are not cars you’ll see on the streets and highways of your home town. They are built exclusively for high-speed endurance ra...

   JavaScript,Prototype,Inheritance     2012-02-27 04:55:22

  The Go Pointer Magic

Go is a language with the pointer type, by which we can Pass pointer into a function and update value in-place. Add methods to a struct as (* T) A, which is different from (T) A(). However, the pointer is type-safe in Go, meaning that there are such restrictions of the pointer. Different types of pointers are unconvertible. Pointer type cannot be used for calculation. Pointer types cannot be compared, either == nor !=. No mutual assignment between different pointer-...

   GOLANG,POINTER,UNSAFE     2021-10-03 02:18:57