|
@Conaw | |||||
|
55. Meta opinion about my opinions on programming languages
twitter.com/Conaw/status/1ā¦
|
||||||
|
||||||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
46. Setup for react development (Webpack/Babel/100 other tooling things) was a dumpster fire in 2015.
It's probably still bad.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
47. Create-React-App and Gatsbyjs probably have made setup for Javascript projects much better.
Still probably not as easy to use or as powerful as shadow-cljs.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
48. Typescript is mostly hype.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
49. VScode is a typescript IDE, is probably pretty magical, and I am likely missing some cool sources of tools for thought inspiration by not playing in that ecosystem.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
50. Airtable is on track to be the Wordpress of relational databases.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
51. Graph databases are far better than relational databases for most things.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
52. Amendment to 4. No one who is loud about OO is doing real OO.
Agree Erlang is OO
twitter.com/weskerfoot/staā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
53. In general, folks thinking about programming languages and computing more broadly, don't know enough history.
Folks interested in the topic should read "The Dream Machine" to start and not blindly trust shitposters like me.
VN def over-hyped tho
twitter.com/Grady_Booch/stā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
54. One reason to know history is so you can see what elements of your language were put in place to deal with constraints in your environment that no longer exist
We don't use punch-cards, we don't need a distinction between expressions and statements
paulgraham.com/diff.html pic.twitter.com/ZrFTndLQfy
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
55. Questions are not a sign of ignorance, they are a sign you are paying attention.
It's more than OK to ask people to define terms or give a concrete example, and ok to stay in conversations you can barely understand.
Applies to conversations in and about all languages.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
56. Datomic is far and away the best graph database available today.
Has Java and Clojure APIs, non jvm languages can use rest apis.
If you're a startup, worth being in Clojure though.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
57. Listen, I'm not saying he didn't have massive contributions, esp on the math side.
Just know too many AI bros (who I still love) who've said things like "We just need 50 Von Neumanns to build an AGI god and we're set"
No.
And he's not all that.
twitter.com/zhaphod/statusā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
58. The most important idea in Datomic is that there is no reason to overwrite data just because it changes.
It is more than a graph database, it is a graph database with a notion of time and history built in.
What was Joe's address as of Dec 2017?
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
59. The main limitation of the EAV tuples (popular in Semantic Web land) is that you can't easily describe the relationships.
You get the FACTS, but it is a bit tricky to add information to those facts like "where did this info come from", or make statements like
If A then B
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
15. pro |
|
60. To model human thought in a computable way you need to solve the problem in 59, you move closer to this goal if you give each "fact" or "edge" in the graph a unique identifier.
Long history of this in Associative Databases
Example in @RoamResearch
roamresearch.com/#/v8/help/page⦠pic.twitter.com/cBYtMW0npe
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
My shit posting on Eve has evoked the ire of @ibdknox, whose work I do greatly respect.
So will offer my more nuanced opinions on Eve and programming languages related to tools for thought, esp related to @RoamResearch and see if that gets me the last 40
twitter.com/ibdknox/statusā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
61. Designing a programming language - a medium for people to express their thought in a machine computable way is insanely hard.
Perhaps even harder to get the time and funding to do that level of deep work.
Exponentially harder to do on VC timescales.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
62. The fact that Chris and team were able to get venture funding AT ALL is an insane testament to the them, and quality of prior work /vision.
The fact that they got funding from some of the top investors in silicon valley put the project in historic category.
Lot 2 liveup 2
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
63. Light-table (from Eve team) promised a smalltalk like IDE for devs using clojure or js
Easy access to docs, organize workspace by function not file, see values pass through
Huge potential for intelligence augmentation!
Easy switch for a userbase
youtube.com/watch?v=H58-n7⦠pic.twitter.com/Lvta7NqJYD
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
64. Alpha sheets (later project, diff team) let you use R & Python code in a collaborative excel like spreadsheet.
Was like Light Table but from another direction.
Adds programming to Excel, versus adding better reactive env to programming
youtube.com/watch?v=hddcNv⦠pic.twitter.com/fM5gw4H6ws
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
65. Light table had a very Bret Victor type feel
make it easier to explore what you could do
make it easier to get a handle on what is going on in the program in real time
give yourself a bunch of contextual information and focus your attention only on what matters
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
66. That project (Light Table) thus offered huge potential for "intelligence augmentation"
Allow people to solve problems that they otherwise wouldn't be capable of solving
Invent things they otherwise wouldn't have been capable of inventing
For beginners or experts alike!
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
67. With both AlphaSheets and Light Table, you started with a tool and paradigm people were familiar with, and you added in either more programming power or a more powerful environment.
Both gave the users a clear path from where they were to a better world.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
68. Risk with both of those is incrementalism.
If you think that both excel and programming lead toward a dead end, perhaps you have to rethink things from first principles and go back to go forward.
Seemed like Chris's view
chris-granger.com/2014/03/27/towā¦
I don't *exactly* agree pic.twitter.com/nM5Pl9e01W
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
69. My take is you need co-evolution of tools and culture.
Tools shape us, then we shape our tools.
I believe in bootstrapping - in the Doug Engelbart sense.
Programming languages are as much about the community as about the underlying technology. pic.twitter.com/ahKcJIlvsT
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
70. After Eve raised VC, appeared to me to take a hard reset approach to try to make programming level capability available to complete beginners
Inventing new UIs, new language, and new database - based on Dedalus
Incredible engineering lift that I would def not be capable of
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
71. When I say they went off the rails, really means they took a strategy that I didn't agree was a good one / was aesthetically opposed to.
But they weren't on my track
I was living in India at the time, lurking on their list serv, building prototypes of @RoamResearch
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
72. The prototypes of Eve I found most compelling where the ones that were more like a semantic Tiddlywiki with a natural language query engine.
I liked the ideal of Excel power applied to notes
Building full apps/games felt way out of scope to start
tiddlywiki.com
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
73. To be fair, I think I share a lot of @ibdknox's long term vision.
The big point of departure is that I don't think most "non-programmers" enter the world building games.
I'd rather help them build explorable/interactive models of the world.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
74. On this point, there is another caveat I'll add to my OO shitposting in points 3 & 4.
I still hate Ruby (my first language) for web-dev, but Modelica is great example of how the principles make a ton of sense for modeling systems.
youtube.com/watch?v=mHbKb7ā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
75. Similarly -- I think there are a ton of great ideas in Analytica for building quantitative models of systems
Problem there is the tool has like a $1,000 license and only works on Windows.
Mostly just used in places like the Defense Department.
en.wikipedia.org/wiki/Analytica⦠pic.twitter.com/HucifuwQ87
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
76. You don't actually know a language until you've built something substantial with it.
Substantial is relative to what you've built before.
Often in new languages we start by trying to follow paradigm we're used to.
Anyone saying I don't know my shit is probably correct.
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
77. Disclosures:
I've built web apps with users (at least two!) in
- Ruby
- Javascript
- Javascript during a Haskell inspired phase where I did everything with Ramda.js and all my shit was curried and point free
- Clojurescript
Ramda is super fun imo
ramdajs.com
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
78. You should not trust my opinion on Python.
The only reason I learned it at all was to write a few scripts on an open source Python IDE called Leo, which had cool way of organizing knowledge in a graph, again similar to @RoamResearch
youtube.com/watch?v=Zu6J-Jā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
79. I have zero personal experience writing Erlang
However, I CAN tell you that
- The What's App team built a $1B company with 11 engineers using it.
- Joe Armstrong (a co-author) has some really incredible talks.
He even mentions Xanadu in this one
youtube.com/watch?v=-I_jE0ā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
80. The Elm language has had a massive impact on the front-end web
There is now so so much information about Redux on the web I can't find it, but original writeup from Dan Abramov on his inspirations for the architecture was a treasure trove, and he credited Elm for main ideas
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
81. Programmers have accents
twitter.com/Conaw/status/1ā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
82. Good Programming Languages are DEFINITELY NOT about "Thinking Like a Machine"
twitter.com/Conaw/status/1ā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
83. Ivan Sutherland's "SketchPad" is what we should have
Ability to do direct manipulation to get to general area you want to go, and then ability to adjust code to normalize and get pixel perfect.
youtube.com/watch?v=YB3savā¦
twitter.com/ndyfschr/statuā¦
|
||
|
|
||
|
Conor White-Sullivanš§¢
@Conaw
|
16. pro |
|
84. If a project not having recent commits on github makes you immediately think you cant use it, there is something fundamentally wrong in your language community.
Code shouldn't rot.
|
||
|
|
||