84 karma · joined April 17, 2011
From an economics point of view you are just wrong. Because of the vast numbers of computers used in 'scale out' architectures the impact of code efficiency is enormously bigger than the cost of developers. If a developer's code runs on 10 or 100 machines then you are correct. But modern software runs on hundreds or even hundreds of thousand machines.
http://shootout.alioth.debian.org/u64q/which-programming-lan...
compare 2 |- |--- 25% median 75% ---| -|
Fortran Intel 1.00 1.00 1.00 1.01 1.35 1.87 7.84
C GNU gcc 1.00 1.00 1.01 1.21 1.55 2.36 4.97
C++ GNU g++ 1.00 1.00 1.10 1.26 1.68 2.28 2.28
ATS 1.00 1.00 1.24 1.45 2.30 3.90 7.24
Ada 2005 GNAT 1.04 1.04 1.22 1.51 1.84 2.76 4.81
Java 7 -server 1.40 1.40 1.59 1.90 2.14 2.97 4.76
Scala 1.38 1.38 1.90 2.76 3.43 5.72 10.21
Haskell GHC 1.53 1.53 2.60 2.80 4.36 7.00 15.15
Go 1.29 1.29 2.12 2.85 6.90 14.08 24.05
C# Mono 1.60 1.60 2.62 3.08 7.12 13.88 14.21
Lisp SBCL 1.12 1.12 1.81 3.40 4.24 7.89 11.20
OCaml 1.18 1.18 1.76 3.75 4.87 9.24 9.24
Pascal Free Pascal 1.53 1.53 2.47 4.37 7.49 15.03 24.20
Clojure 2.02 2.02 3.50 4.99 8.44 14.81 14.81
F# Mono 2.97 2.97 3.16 5.33 8.92 17.57 37.80
Racket 1.22 1.22 5.06 6.86 11.04 19.99 59.08
Erlang HiPE 5.17 5.17 7.99 10.79 15.44 26.61 41.54
Erlang 5.40 5.40 14.20 22.73 30.09 53.91 218.10
Python 3 1.22 1.22 9.25 49.73 68.86 131.37 131.37
PHP 1.90 1.90 10.29 50.17 83.42 193.10 260.90
Ruby 1.9 4.67 4.67 11.74 53.29 101.33 235.71 356.61
Ruby JRuby 5.75 5.75 26.67 58.81 115.06 247.65 266.51
Perl 4.00 4.00 22.61 103.29 126.82 225.35 225.35Oddly - the project failed...
Just because a large company says they do something - does not mean they actually do. Distributed Transcation as said by RDBMS companies actually is 'Distributed as long as nothing goes wrong'.
In practice, it is not di±cult to construct an algorithm that, except dur- ing rare periods of network instability, selects a suitable unique leader among a majority of nonfaulty acceptors. Transient failure of the leader-selection algorithm is harmless, violating neither safety nor eventual progress. One algorithm for leader selection is presented by Aguilera et al. [1] "
" The algorithm satisfies Stability because once an RM receives a decision from a leader, it never changes its view of what value has been chosen "
Fundamentally, the idea is that the leader is the transactional arbitrator using the RM as the recorder of that transaction.
" Intel segmented memory
This usage should not be confused with that of the x86 memory segmentation used by early Intel processors such as the Intel 8086 and Intel 8088, as they did not provide any protection. Any program could access any segment with no restrictions, and a segment consisted of only a starting location and a fixed length of 64 KiB. Segmentation in the Intel 80286 and later provided protection. "
I think Dr Turner's description of segments is a bit rough and ready; I guess he was just trying to make the post simple.
SEGV has nothing what so ever todo with Intel 8088 address management. The name 'segment' just got used twice.