Comments (4)
If I had the impetus to rebuild Homebrew, I would do it in Swift. I originally chose Ruby because:
- I wanted it to just work after a git clone on macOS, a vanilla install of macOS came with Ruby, so a clone with all the files pre-arranged in the right shape was a working brew installation.
- I wanted a minimal fuss programming language that would encourage contribution. This in 2009 meant a scripting language since there was no minimal fuss “real” languages due to the language complexity and the nightmare that was build systems.
№1 would not be as easy with Swift, but anyway, we eventually made an installation script for brew, and nowadays I doubt you can just clone brew, the current maintainers don't echo all my initial desires for the product. Maybe it doesn't matter that much, but I really wanted people to realize brew cared about you knowing what was going on and what brew did to your computer.
№1 could still be done though, since Swift can be scripted. It would have to do a build as part of the initial run, but it's the sort of thing I'd consider worth the time to implement.
Swift satisfies №2., it needs a build system still, but SwiftPM just works, so it's fine. The language though is very satisfying. Ruby is beautiful and I still love it, but Swift is elegant and safe, so very safe. I am a huge believer in quality, robust software for my users. Nothing makes me happier than to imagine that my software is working for my users. Swift makes it possible to write code that just works without crashes or bugs.
from ama.
If I suddenly got super rich and didn't have to work for money, I would yes.
from ama.
any changes to the impetus now that Catalina will drop ruby?
from ama.
I can understand the original decision to go with a scripting language. And 10 years ago I would have made that choice myself. In the mean time I've realized that depending on any scripting language that comes preinstalled with the OS is a disaster waiting to happen. It will always be a bit older - and in the case of Python: so old to the point of being more of a liability than an advantage. Ruby might be a bit better, but you're still at the mercy of Apple.
I'm not very familiar with Swift myself. I've just spent a few weekends dabbling with it, but I am assuming it is easy to produce binaries for all platforms?
from ama.
Related Issues (20)
- What makes you happy? HOT 3
- Are you secretly working for Apple Inc? HOT 1
- Do you have an opinion on how to use promises on Android? HOT 4
- Your preference on open source licenses HOT 1
- What do you think about Google interview Today HOT 2
- Vim or Emacs? HOT 2
- How do you overcome "writer's block" - when one thing you want to make doesn't work, and it takes a while? HOT 1
- How to become an open source developer HOT 2
- What makes Workbench better than Mackup? HOT 1
- Technical skill to create / get involved in open source projects? HOT 2
- How did you come up with the name "mxcl"? HOT 1
- How will PromiseKit play along with Apple's new framework Combine? HOT 7
- Why did you leave Apple? HOT 1
- Right now at this point what's the most curious & important(to you) area that you want to learn/improve. Would it be algorithms? HOT 1
- What was it like working at Last.FM? HOT 1
- What is your advice for engineers coming from the enterprise to the open source market? HOT 1
- Any thoughts on the speed of homebrew
- New Website HOT 1
- Do you ever get so absorbed in coding that you neglect "life" stuff? HOT 3
- Zsh/Bash HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ama.