computer science Name and picture from twetch — not on-chain. The signature is; the profile is not.

1PZied1fcWLJLXuwaARTJDpB6BjammV11m

  • 0 Following
  • 0 Followers
  • 26 Posts

Activity

1PZied…V11m Key · twetch

null

1PZied…V11m Key · twetch

If a 'religion' is defined to be a system of ideas that contains unprovable statements, then Gödel taught us that mathematics is not only a religion, it is the only religion that can prove itself to be one.

1PZied…V11m Key · twetch

Gödel set the stage for the digital revolution, not only by redefining the powers of formal systems—and lining things up for their physical embodiment by Alan Turing—but by steering von Neumann’s interests from pure logic to applied. It was while attempting to extend Gödel’s results to a more general solution of Hilbert’s Entscheidungsproblem—the “decision problem” of whether provable statements can be distinguished from disprovable statements by strictly mechanical procedures in a finite amount of time—that Turing inven­ted his Universal Machine. All the powers—and limits to those powers—that Gödel’s theorems assigned to formal systems also applied to Turing’s Universal Machine, in­cluding the version that von Neumann, from his office directly below Gödel’s, was now attempting to build.

Gödel assigned all expressions within the language of the given formal system unique identity numbers—or numerical addresses—forcing them into correspondence with a numerical bureaucracy from which it was impossible to escape. The Gödel numbering is based on an alphabet of primes, with an explicit coding mechanism governing translation between compound expressions and their Gödel numbers—similar to, but without the ambiguity that characterizes the translations from nucleotides to amino acids upon which protein synthesis is based. This representation of all possible concepts by numerical codes seemed to be a purely theoretical construct in 1931.

Read more →
1PZied…V11m Key · twetch

Every good idea will be discovered twice: once by a logician and once by a computer scientist

1PZied…V11m Key · twetch

Hello world in different languages

1PZied…V11m Key · twetch

“Education is a good thing. But its lack is not the root cause of buggy software; lack of experience is. Software is never rewritten. Projects last longer than expected; programmers get bored or burned out; management moves on the newer challenges. The attitude of ‘good enough’ reflects reality.
Instead of being rewritten, software has features added. And becomes more complex. So complex that no one dares change it, or improve it, for fear of unintended consequences. But adding to it seems relatively safe. We need dedicated programmers who commit their careers to single applications. Rewriting them over and over until they’re perfect. Such people will never exist. The world is too full of more interesting things to do.
The only hope is to abandon complex software. Embrace simple. Forget backward compatibility. A simple word processor is easy. Would anyone learn to use it? It seems that there’s a window of willingness to learn to type. Once learned, people are not willing to relearn.”

Read more →
1PZied…V11m Key · twetch

null

1PZied…V11m Key · twetch

Every propositional formula can be transformed into conjunctive normal form and into disjunctive normal form.

1PZied…V11m Key · twetch

null

1PZied…V11m Key · twetch

metaprogramming is so amazingly compact. It's similar to Lisp's metaprogramming in much the same way bacterial genetic code is similar to that of humans – both reproduce. Humans also do many other things that bacteria can't (…No compatibility. No files. No operating system). And have a ton of useless junk in their DNA, their bodies and their habitat.

Bacteria have no junk in their DNA. Junk slows down the copying of the DNA which creates a reproduction bottleneck so junk mutations can't compete. If it can be eliminated, it should. Bacteria are small, simple, optimal systems, with as many requirements shaved off as possible. They won't conquer space, but they'll survive a nuclear war.

Read more →
1PZied…V11m Key · twetch

Code is this array of "execution tokens" – function pointers, numbers and a few built-ins like branches, basically.

1PZied…V11m Key · twetch

Factor definitions to use about the same amount of executed code as compiled code to make the code clearer, faster, and smaller and do more at compile time.
Don't do at runtime what you can do at compile time.

1PZied…V11m Key · twetch

Factor for optimized source and don't try to rely on premature global optimization in a compiler to transform bad code into good code. Don't use that as an excuse to write bad code. Don't let a compiler second guess your code. Excessive global optimization on well written source isn't needed, leads to bugs that may be hard to find, and because we compile often can waste a lot of time. Show some pride and self-esteme and don't assume that a compiler is smarter than you are.

1PZied…V11m Key · twetch
Reposted
InforCreate 3.0y

Neumann János

1PZied…V11m Key · twetch

A powerful programming language is more than just a means for instructing a computer to perform tasks. The language also serves as a framework within which we organize our ideas about processes. Thus, when we describe a language, we should pay particular attention to the means that the language provides for combining simple ideas to form more complex ideas. Every powerful language has three mechanisms for accomplishing this:

primitive expressions, which represent the simplest entities the language is concerned with,
means of combination, by which compound elements are built from simpler ones, and
means of abstraction, by which compound elements can be named and manipulated as units.
In programming, we deal with two kinds of elements: procedures and data. (Later we will discover that they are really not so distinct.) Informally, data is “stuff” that we want to manipulate, and procedures are descriptions of the rules for manipulating the data. Thus, any powerful programming language should be able to describe primitive data and primitive procedures and should have methods for combining and abstracting procedures and data.

Read more →
1PZied…V11m Key · twetch

The acts of the mind, wherein it exerts its power over simple ideas, are chiefly these three: 1. Combining several simple ideas into one compound one, and thus all complex ideas are made. 2. The second is bringing two ideas, whether simple or complex, together, and setting them by one another so as to take a view of them at once, without uniting them into one, by which it gets all its ideas of relations. 3. The third is separating them from all other ideas that accompany them in their real existence: this is called abstraction, and thus all its general ideas are made.

—John Locke, An Essay Concerning Human Understanding (1690)

Read more →
1PZied…V11m Key · twetch

You decide to clean up your DSL.

You mention your project to a friend who says what you're describing sounds like sed.

"What's sed?"

"Well, it's kinda what you're writing. But mature, well documented, and already deployed on millions of computers."

1PZied…V11m Key · twetch

Then you decide it would really be better to write one program that takes arguments to do each of the related little tasks.

Eventually you realize you've created a little DSL (domain specific language) and not a very good one

1PZied…V11m Key · twetch

So you want to write a few little programs to do common chores like search and replace, deleting lines that match a pattern, etc.

You’ve got to name each of these programs, and remember what you named them, and remember what arguments each takes

1PZied…V11m Key · twetch

Science is what we understand well enough to explain to a computer. Art is everything else we do

1PZied…V11m Key · twetch

People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on eachother, like a wall of mini stones