Pages:
Author

Topic: Was Satoshi's coding ability considered bad? - page 2. (Read 1709 times)

legendary
Activity: 1274
Merit: 1006
Trainman
Was perfect, not bad. Satoshi first was a human and then was a programmer, in coding bugs are unavoidable because programmers are humans, the only way to avoid bugs is one Not Code..
legendary
Activity: 1232
Merit: 1080
Criticizing a source code of another programmer is purely subjective. If Satoshi Nakamoto is truly inferior in terms of coding then he should not have made his source code open to the public. I cannot say the same to Microsoft Windows Operating System.
Some of it might be purely subjective and as long as it works it works but laying down a good foundation for others that read the code is considered good programming.

Open source actually brings in the possibility of improving the existing code by having input from others so its not a bad idea to make it open source. Plus he was limited by his own standards and unless he wanted to dedicate more time in learning effective code Bitcoin would of been delayed. Nothing can be made perfect and I was not calling out Satoshi for having bad coding practices I was merely interested after stumbling upon a quote from D&T.
member
Activity: 462
Merit: 17
When creating a new product, it is absolutely normal when it is not perfect.
Initially there were mistakes well, so what? They have already been corrected.
full member
Activity: 294
Merit: 104
✪ NEXCHANGE | BTC, LTC, ETH & DOGE ✪
I've been reading some old posts of some prolific members here on the forum and here's a quote from DeathAndTaxes to seek your teeth into:


This.  The first time I learned about Bitcoin, I took a look at the whitepaper and code I found all kinds of "flaws".  It wasn't until hours (days?) of reading and researching that the elegance of the solution became visible (like a Polaroid appearing from the black).  It is humbling when you realize that you are looking at the product of someone far above your own capabilities and they have created what you previously considered impossible.  In a hundred years in a hundred parallel worlds I wouldn't have come up with the concept of Bitcoin, it was simply too alien.  It goes beyond just intelligence, the idea was simply outside my frame of reference.  The problem wasn't even one I considered that a solution existed.  

Now Satoshi's coding (nuts and bolts)?  Blech that is another story but nobody complains that Einstein's notes are hard to read because he had bad handwriting.

DeathAndTaxes is pretty famous around here for his ideas and intelligence. Even though he admits earlier in his statement that the idea of Bitcoin was completely out of his scope of intelligence he then goes on to slightly criticize Satoshi's coding ability.

I'm curious if this is the general view point of the community and also if it is true was there any major adaptions to the code following Gavin and other developers contributing to the project?

I'm trying to go through his other posts in an attempt to find any explanation of this as I've not found anything from some quick searches.

Criticizing a source code of another programmer is purely subjective. If Satoshi Nakamoto is truly inferior in terms of coding then he should not have made his source code open to the public. I cannot say the same to Microsoft Windows Operating System.
legendary
Activity: 2898
Merit: 1823
It's consensus opinion among programmers that Satoshi knew alot about cryptography, but was not an expert programmer. I seem to remember that Bitcoin 0.1.0 was just a bunch of functions and a main function, no classes (and that version was of course all Satoshi's work). It's not impossible that Satoshi was a good programmer, but deliberately chose to obscure any stylistic fingerprints by trying to appear to be amateurish. But there's no evidence for that, it's just a possibility.

Re: changes, IIRC the developing team are even today still untangling some of the messy dependencies introduced early on in the project, but who's responsible for those I don't know.

I read a quote somewhere that John Nash learned programming late in his life during the 1990's. He also had his own theory of what money should be called Ideal Money, https://en.wikipedia.org/wiki/Ideal_money#What_is_Ideal_Money?

He is mathematician and a cryptographer. Which also showed what Satoshi mainly was.

Besides Hal Finny and Nick Szabo, my top two for "Satoshi", could John Nash be a possible candidate?
member
Activity: 322
Merit: 54
Consensus is Constitution
Quote
The sudden ALS (a one-in-a-million terminal health defect) of Hal Finney after being a vigorous runner is quite an anomaly. What’s the odds that the one public guy who was closest to Satoshi (a one-in-a-billion circumstance) and who might have had information which would blow this discussion wide open, was suddenly erased from life. I have no information about whether it’s possible to induce ALS in a person. I’ve seen some vague implications that the CIA had a way to induce cancer. I’m not drawing any conclusions from this at all. Not weighing it at all in my thought process. Just noting it.

And when you realize that ALS is caused by Lyme disease and Lyme has been weaponized by the CDC...Ya you realize the C*A was probably involved.

http://als-cure.com/als-lyme/als-patients-infected-with-lyme-bacteria-borrelia-spirochetes/

http://truthstreammedia.com/2017/09/09/officially-ignored-connection-lyme-disease-plum-island/
legendary
Activity: 2534
Merit: 6080
Self-proclaimed Genius
Yes a Peer-to-peer decentralized digital currency was a great idea to be able to trade "everything" wordwide.
That's why "Satoshi's" "small project" became this big.
My guess is: Satoshi didn't expect this to be famous in just a short time, Bitcoin grew beyond his control that developing it with himself exposed was "too scary" for him.

-snip-
Whoa whoa, I take it as an insult to Einstein and the media, that's rude.
But really, "genius" is a state of mind and Einstein had lost it, stubbornly implied his theories even though he was not sure of it himself.
He even died without completing a "materialistic" reasoning to the theory of everything.

Speaking of frauds and Thieves, ask the one who "discovered" the DNA double Helix.
There's only one man that I know who's a Stable Genius: Donald Trump, Einstein and Satoshi are idiotic sometimes.
legendary
Activity: 1232
Merit: 1080
If his technology is the leading digital currency next to digital fiat, then I'd say he, or they had a pretty good idea of what they were doing. DOS for example was a pretty good operating system as flawed as it may be. It is the foundation for an operating system that millions use to this day. It needed allot more upgrades than bitcoin. I'd say brilliant but then I'm no coder so take it with a pinch of salt.

One can have brilliant ideas and do the basic legwork but has since been backed up by multiple people that his code wasn't perfect. I think a lot of people hold Satoshi in high regard and think he's perfect. It's always good to point this out to people and say he isn't perfect.

Yes he made Bitcoin and the revolutionary technology behind it and I'm sure we all thank him for loosening the chains of regulation for us but it was no where near a perfect implementation.This is expected though.
jr. member
Activity: 364
Merit: 4
If his technology is the leading digital currency next to digital fiat, then I'd say he, or they had a pretty good idea of what they were doing. DOS for example was a pretty good operating system as flawed as it may be. It is the foundation for an operating system that millions use to this day. It needed allot more upgrades than bitcoin. I'd say brilliant but then I'm no coder so take it with a pinch of salt.
member
Activity: 322
Merit: 54
Consensus is Constitution
What I gleaned from reading up on the beginnings of bitcoin was that his style was outdated and windows based.  Like he was an old hand, probably a software engineer that didn't typically get his hands too dirty in writing his own code and worked for UNIX and then later windows based corporate entities for many years.

And ahem...if you want to learn more about the man, you may want to look up a fellow named Dorian...  " I AM NOT DORIAN NAKAMOTO"
hero member
Activity: 568
Merit: 703
The same actually happened even with Satoshi's language. Those who paid attention noted the impeccable grammar and structure, others criticised (again, much later) the inconsistencies even with spelling.

The same happened with the analysis of the analysis of 9/11 also. Even the Mossad aren’t able to fool God.

(trying to stay on topic here with the implied reason that others want to analyze if Satoshi was an amateur hobbiest Japanese teenage hacker sleeping on his mother’s futon next their family kabota)
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
Most observations I can recall reading seem to agree that Satoshi was/were pretty decent at coding, stopping short of criticizing the work. Criticisms seem to have arrived much later. The same actually happened even with Satoshi's language. Those who paid attention noted the impeccable grammar and structure, others criticised (again, much later) the inconsistencies even with spelling.

As Carlton Banks points out, these could all be deliberate attempts at concealing identity, or simply a result of the multiple hands behind Satoshi.

It's hard to be a genius and not have people analyse every item connected to your personality.

But Satoshi's coding considered bad? I don't think anyone, not even DeathAndTaxes, would come close to thinking that.
drm
legendary
Activity: 1176
Merit: 1005
Who cares about his/her coding style.

My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.
Agree with you. It seems that Satoshi's code was pretty sloppy. Moreover, obviously he was a Windows guy.

Readme.txt from Bitcoin 0.01 ALPHA:
Code:
Operating Systems
-----------------
Windows NT/2000/XP (and probably Vista)

Vista hasn't been tested yet.  All the libraries used are cross-platform, so
there's nothing preventing future Linux and Mac builds.

Anyway, it doesn't matter if Satoshi Nakamoto was a full-time programmer or not. Although there were some bugs, the software worked fine.

OP is not saying it matters or that it forms an issue in any way, just trying to find out more.
And if we shouldn't discuss things that don't matter we can scrap more than half of the threads on this board.  Wink
legendary
Activity: 2618
Merit: 2304
My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.
Agree with you. It seems that Satoshi's code was pretty sloppy. Moreover, obviously he was a Windows guy.

Readme.txt from Bitcoin 0.01 ALPHA:
Code:
Operating Systems
-----------------
Windows NT/2000/XP (and probably Vista)

Vista hasn't been tested yet.  All the libraries used are cross-platform, so
there's nothing preventing future Linux and Mac builds.

Anyway, it doesn't matter if Satoshi Nakamoto was a full-time programmer or not. Although there were some bugs, the software worked fine.
sr. member
Activity: 558
Merit: 295
Walter Russell's Cosmogony is RIGHT!
Einstein was a complete FRAUD thief plagiarist idiot who could not possibly have written the work he is credited for..
Was not competent enough to even understand it..
Did not even know the speed of sound when asked by Thomas Edison
FAILED his university entrance exam and never attended a single physics class.
The Nobel Prize in Physics has LONG been a REWARD for IDIOT SYCOPHANTS for their contribution in sustaining the fraud and increasing the level of confusion and obfuscation.

The legacy of Einstein's genius is a MEGA fallacy grotesquely ill deserved but a TESTAMENT to the overwhelming power and influence and control of ZIONIST propaganda over the media and Academia. He HIMSELF complained of being made a false idol.

His EX-wife SUCCESSFULLY SUED him for the prize money from the Nobel work on the PHOTO-ELECTRIC effect. And for divorce for adultery.
She was a very competent mathematician.

Special relativity and General Relativity are crimes against science and reason....
They have been fraudulently supported and proven idiotic complete nonsense many times over by REAL empirical observation and have absolutely NOT a single occasion of evidenciary support or relation to ACTUAL real world Physics/science and engineering.

These are the true KNOWN Immutable facts pertaining to the person that idiots use as a benchmark of genius.

Are you sure you want to compare that asshole to Satoshi?
We KNOW NOTHING about Satoshi...we can't even know if he wrote any of the code or if he was even a real singular person.
Odds are far greater that he was a front, a vehicle, a tool, a weapon. Of a collaborative effort, a scheme.
The product of a stratagem.






newbie
Activity: 8
Merit: 0
Why does it even matter?
I mean did you wonder if De Lorean from "Back to the future" had high fuel consumption?
hero member
Activity: 672
Merit: 526
It was pretty good: I'd give it a grade of B+. The worst problem was that there were only a few, huge files, but if you ignored that then it made a lot of sense. It was written in (then-)modern C++, clearly with a lot of care. It was clearly not written in a stream-of-consciousness manner. There were very few bugs that you could blame on lack of programming skill.

My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.

Is there any indication that he would be more familiar with another language, but chose to study and use C ++ because of its efficiency in memory usage compared to other languages? Since he believed that the easier it was to mine and maintain a node, the more widespread the network would be. And for that, the consumption of memory could not be high since many would hardly leave a computer exclusive to Bitcoin in the beginning.

Is it possible that he started the project using another language and started over again using C ++?
jr. member
Activity: 168
Merit: 3
#Please, read:Daniel Ellsberg,-The Doomsday *wk
I've been reading some old posts of some prolific members here on the forum and here's a quote from DeathAndTaxes to seek your teeth into:


This.  The first time I learned about Bitcoin, I took a look at the whitepaper and code I found all kinds of "flaws".  It wasn't until hours (days?) of reading and researching that the elegance of the solution became visible (like a Polaroid appearing from the black).  It is humbling when you realize that you are looking at the product of someone far above your own capabilities and they have created what you previously considered impossible.  In a hundred years in a hundred parallel worlds I wouldn't have come up with the concept of Bitcoin, it was simply too alien.  It goes beyond just intelligence, the idea was simply outside my frame of reference.  The problem wasn't even one I considered that a solution existed.  

Now Satoshi's coding (nuts and bolts)?  Blech that is another story but nobody complains that Einstein's notes are hard to read because he had bad handwriting.

DeathAndTaxes is pretty famous around here for his ideas and intelligence. Even though he admits earlier in his statement that the idea of Bitcoin was completely out of his scope of intelligence he then goes on to slightly criticize Satoshi's coding ability.

I'm curious if this is the general view point of the community and also if it is true was there any major adaptions to the code following Gavin and other developers contributing to the project?

I'm trying to go through his other posts in an attempt to find any explanation of this as I've not found anything from some quick searches.

Just start reading the code....

https://bitcointalksearch.org/topic/bitcoin-source-from-november-2008-382374

https://github.com/trottier/original-bitcoin

Thanks for the link ( last time I saw any code was at sourceforge host )

Today on my breakfast while trying to read the commentaries (Yes I love commentaries, the part of the code ignored by the compiler) because some are funny, others just mess with the coder mind state ) it somehow led[1] me the following path

Quote
Quote from: Mike Hearn on December 23, 2013, 08:30:45 PM
OP_CODESEPARATOR was in the first released version too. It was part of his broken method of running scripts via concatenation.

In the Bitcoin v0.1 release OP_CODESEPARATOR was always inserted between the scriptSig and scriptPubKey prior to calling EvalScript() This pre-release sourcecode implies that was not automatically done, which allows for scripts to take advantage of that after the fact to delegate signing authority after the fact. (though to fully take advantage of the idea you need the notion of a OP_CODESEPARATOR "stack")

The idea is "broken" only in that OP_RETURN originally could cause a script to return valid prematurely; now that OP_RETURN only fails a script prematurely an explicit OP_CODESEPARATOR design would work fine.

The concatenation thing reminds the post I read few days ago about shell script on unix systems ...
It let me thinking about RISC and CISC instruction sets and pipelining,

From the textbook

Reduced instruction set computing (RISC) refers to a system in which the
processor can execute a relatively small number of distinct fundamental,
highly optimised instructions, each consisting of a single operation. By
comparison, in complex instruction set computing (CISC), the processor
can execute many more distinct instructions, with each potentially consisting
of many operations.
To give you a flavour of the difference, consider two approaches to
multiplying two integers.
Use the existing circuit that adds two integers and use software to
repeatedly execute an ADD instruction to add the first integer to itself the
right number of times.
2 Build a circuit that multiplies two integers[2] and use a MULTIPLY
instruction to activate it.
The first approach is in the spirit of RISC (although, in fact, RISC processors
do have a multiply operation) – a more complex task is achieved by using
software to combine several more fundamental instructions.
The second approach is more aligned to a CISC approach – the emphasis is
put on building complex instructions directly into the hardware.
There are some other important differences between the RISC and CISC
approaches.
.
.
Each instruction executed on a RISC processor is fundamental enough
that it can be executed in a single clock cycle, whereas the more complex
CISC instruction to do the same job may take multiple clock cycles.
However, because a task generally takes many more instructions in RISC
than in CISC, the overall time is usually similar in each system.
Each instruction in a RISC processor can be represented in the same
number of bits because when data is moved to and from memory, only
one memory location is involved. However, CISC instructions are more
likely to need variable numbers of bits because a single instruction might
need to access multiple memory locations. This also means that as well as
taking more clock cycles, a CISC instruction takes a variable number of
clock cycles to complete, whereas a RISC instruction consistently takes
one.
So which approach is better? Certainly the general trend has been away from
CISC towards RISC, and except for some highly specialised computers, most
processors now take a RISC approach. This is partly because early computers
were born out of a world of switches and relays, so hardware solutions came
more naturally than software solutions for early computer pioneers. It was
also the case that RISC architectures relied on more main memory being
available (because there are many more instructions to be stored), and main
memory was very expensive in the early days. As software developed and
main memory became much cheaper, RISC moved into the ascendancy.
However, perhaps the most important advantage that RISC architectures have
is the predictability of the representation of an instruction, and the time it
takes to execute (one clock cycle) lends itself to pipelining, which is the
process of speeding up a task by splitting it into steps that can be executed in
parallel.





[1] CodersLed as the past tense of the verb lead, not the blood Diode ( https://en.wikipedia.org/wiki/Light-emitting_diode ) Makers
[2] In this case I was thinking about the the multiplication of the static const int64 COIN = 1000000; static const int64 CENT = 10000;
administrator
Activity: 5222
Merit: 13032
It was pretty good: I'd give it a grade of B+. The worst problem was that there were only a few, huge files, but if you ignored that then it made a lot of sense. It was written in (then-)modern C++, clearly with a lot of care. It was clearly not written in a stream-of-consciousness manner. There were very few bugs that you could blame on lack of programming skill.

My personal suspicion in this area is that Satoshi was never (or not recently) a full-time programmer, but he was pretty familiar with computer science (maybe a student or academic?), and he'd read some comprehensive C++ book just before starting on Bitcoin, so he made full and correct usage of C++ features in a slightly messy way.
jr. member
Activity: 30
Merit: 4
Nothing is perfect.

Espacially digital products, must keep developing it lifetime withut succeed the perfection.

Look at Facebook, Google, Microsoft and others, they are are prehistoric and they have been around for ages ... but from time to time someone find a bug (Notice in addition of that they are closed source projects), compared to open source project as Bitcoin where everyone can read clairely where a bug lies (If there one).

Purhapse he is right about the code, but for the first launch, if the product work well and idea realized then the goal is reached, after that community do the rest.
Pages:
Jump to: