An Introduction To Programming Type Systems makes me think that so called high level languages can be thought as introducing a new kind o universal machine. A new model. Compare this with assembly languages: von Neuman machine, everything is a number. Or a set of bits. Or a representation in a code. It doesn't matter from the viewpoint of storage. What we do with a value is determined by the instruction. The process. Compare again with strictly functional languages. Everything is a lambda expression. Even numbers. Different models.
Feeling: richer models complicate the very very simple and effective model of universal machines like Turing, Von Neuman or Lambda.
What happened to software? Why is there so few creative software (2010)? Are we at the end of software? What are the forces which led to this situation, looking like a bit step backward to the epoch of non-programmable accounting machines? Is there a way out of this situation? Yes, and a very simple one: make good software. With invention. Developing models and abstractions. It is difficult but absolutely possible. It this re-start of software I wish to explore here in this blog. Welcome
sábado, 20 de abril de 2013
sexta-feira, 19 de abril de 2013
Spreadsheet programming problems
Mishaps of using conventional spreadsheets for serious data analysis.
However, look at this post showing that Excel (or whatever spreadsheet) can be used successfully for an enormous variety of applications and be transformed in a powerful universal tool: Microsoft Excel is Everywhere
However, look at this post showing that Excel (or whatever spreadsheet) can be used successfully for an enormous variety of applications and be transformed in a powerful universal tool: Microsoft Excel is Everywhere
domingo, 14 de abril de 2013
Computer Science
Excellent post on Computer Science: Why Computer Science Matters. Defined as “The analysis of algorithms and processes”. So, it is not only about computers.
It is very very young. It is the future. "The future breakthroughs in science and technology will not be the new “social network”, or “web app”, it will be the insight that we get through the study of the theories discussed in Computer Science."
It is very very young. It is the future. "The future breakthroughs in science and technology will not be the new “social network”, or “web app”, it will be the insight that we get through the study of the theories discussed in Computer Science."
sábado, 13 de abril de 2013
Light ERP, in the cloud, configurable?
Is it really configurable? Let's have a look at NetSuite, small size ERP, competes with the big ones, Lary Ellison invested in it.
The Vietnam war of IT
It is the object x relational models. Hard to solve. Perhaps both models were too restrictive?
See also The Filesystem Test. What about having a simples model and build upon it?
To think about a different model: a universal machine. Turing? Von Neumann? Lambda calculus?
See also The Filesystem Test. What about having a simples model and build upon it?
To think about a different model: a universal machine. Turing? Von Neumann? Lambda calculus?
sexta-feira, 8 de março de 2013
Answer to ResearchGate question:
I would bet for the mix of SML, Racket, Ruby and finally Haskell.
SML give you some notions like:
- Benefits of no mutation
- Algebraic datatypes, pattern matching
- Higher-order functions; closures
- Lexical scope
- Currying
- Syntactic sugar
- Parametric polymorphism and container types
- Type inference
- Abstract types
However, Racket shows interesting things like:
- Dynamic vs. static typing
- Laziness and streams
- Implementing languages, especially higher-order functions
- Macros
- Abstract types via dynamic type-creation
- Reflexion
On the other hand, for the OOP, Ruby would be great showing:
- Dynamic dispatch
- Pure object-orientation
- Multiple inheritance, interfaces, and mixins
- OO vs. functional decomposition and extensibility
- Subtyping for records, functions, and objects
- Class-based subtyping
- Subtyping
- Subtyping vs. parametric polymorphism; bounded polymorphism
- Reflexion in OOP
And after all this, I would introduce the lazyness of Haskell
and go deeper in all Haskell stuff.
Of course, this is just one (of many) way(s) for learning
programming languages techniques
-----------------------
See also the classical: Teach Yourself Programming in Ten Years
SML give you some notions like:
- Benefits of no mutation
- Algebraic datatypes, pattern matching
- Higher-order functions; closures
- Lexical scope
- Currying
- Syntactic sugar
- Parametric polymorphism and container types
- Type inference
- Abstract types
However, Racket shows interesting things like:
- Dynamic vs. static typing
- Laziness and streams
- Implementing languages, especially higher-order functions
- Macros
- Abstract types via dynamic type-creation
- Reflexion
On the other hand, for the OOP, Ruby would be great showing:
- Dynamic dispatch
- Pure object-orientation
- Multiple inheritance, interfaces, and mixins
- OO vs. functional decomposition and extensibility
- Subtyping for records, functions, and objects
- Class-based subtyping
- Subtyping
- Subtyping vs. parametric polymorphism; bounded polymorphism
- Reflexion in OOP
And after all this, I would introduce the lazyness of Haskell
and go deeper in all Haskell stuff.
Of course, this is just one (of many) way(s) for learning
programming languages techniques
-----------------------
See also the classical: Teach Yourself Programming in Ten Years
sábado, 16 de fevereiro de 2013
Spreadsheet as a model
This blog point to the fact that spreadsheets are an excellent model for business. To be developped...
Assinar:
Postagens (Atom)
Which first language do you think is the best for learning programming techniques?
Francisco Frechina · Universitat Politècnica de València