How to go about making your own programming language? [duplicate]

I’d say that before you begin you might want to take a look at the Dragon Book and/or Programming Language Pragmatics. That will ground you in the theory of programming languages. The books cover compilation, and interpretation, and will enable you to build all the tools that would be needed to make a basic programming … Read more

What factors could determine whether Clojure, Scala or Haskell will gain traction?

On the top of my head: good IDE support (with refactoring) stable enough specifications clear policy about backward compatibility (in term of sources, binaries and behavior) frameworks and tools around the language (like code static analysis, code coverage, …) Scala, for instance, is still evolving and moving “too fast” to be “largely” used even though … Read more

Which programming languages (besides Smalltalk) are image based? [closed]

Images Images are basically memory dumps. Typically a Lisp development system starts a runtime plus an image. The user then makes changes and later can write a new image. Sometimes this is a feature used by the developer, sometimes it’s also used during the development of the Lisp system itself. Many Lisp systems are using … Read more

How to write a self reproducing code (prints the source on exec)?

Aside from cheating¹ there is no difference between compiled and interpreted languages. The generic approach to quines is quite easy. First, whatever the program looks like, at some point it has to print something: print … However, what should it print? Itself. So it needs to print the “print” command: print “print …” What should … Read more

About first-,second- and third-class value

Oh no, I may have to go edit Wikipedia again. There are really only two distinctions worth making: first-class and not first-class. If Michael Scott talks about a third-class anything, I’ll be very depressed. Ok, so what is “first-class,” anyway? Well, it is a term that barely has a technical meaning. The meaning, when present, … Read more

Is there a programming language with built-in state machine construct?

Ragel is a state machine language. IOW, it’s not a language that also supports state machines, it’s a language that only supports state machines. Which obviously means that it’s not Turing-complete, but who needs that? More precisely, Ragel is a state machine compiler, which takes a description of a state machine in a regexp-like language … Read more

What’s the difference between a low-level, midlevel, and high-level language?

Yes, they’re just general terms. It’s to do with abstraction, and how close you are to what the computer’s actually doing. Here’s a list of programming languages ranging from very low to very high level: Machine Code could probably be considered the lowest level programming language. Assembly language is at the level of telling the … Read more

Multi-Core and Concurrency – Languages, Libraries and Development Techniques [closed]

I’d suggest two paradigm shifts: Software Transactional Memory You may want to take a look at the concept of Software Transactional Memory (STM). The idea is to use optimistic concurrency: any operation that runs in parallel to others try to complete its job in an isolated transaction; if at some point another transaction has been … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)