Joda-Beans
Babel (Formerly 6to5)
Our great sponsors
Joda-Beans | Babel (Formerly 6to5) | |
---|---|---|
2 | 57 | |
141 | 42,844 | |
0.7% | 0.2% | |
6.2 | 9.8 | |
8 days ago | 6 days ago | |
Java | TypeScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Joda-Beans
-
Donāt call it a comeback: Why Java is still champ
That means I don't forget about fields (as can happen if you're just doing `person.setX()` all the time). It's easy to see what is what when reading it. I can delete fields I don't want to initialize at the time. Yes, maybe immutable objects are the One True Way, but C# lets me choose (I can label properties with an initializer `init` rather than a setter `set` and then they're immutable).
Kotlin offers stuff like this too because it's really useful toward creating code that's easy to create and maintain. Go also lets you initialize structs in a similar fashion.
Java has come back to us a decade or more late with records. They're not bad, but they're only offering one thing. They don't cover what C#, Kotlin, Go, and other languages have offered for so long.
The annoying thing about Java is that it doesn't feel pragmatic a lot of the time. It feels like the language hates stealing ideas from others. It's Java: people steal ideas from Java, not the other way around. People do crazy things just to get POJOs including Immutables (http://immutables.github.io), AutoValue (https://github.com/google/auto/), Lombok (https://projectlombok.org), Joda Beans (https://www.joda.org/joda-beans/), and maybe more. They generate lots of code at compile time or do funky runtime stuff.
It just feels like Java misses the pragmatic stuff and still kinda doesn't want to handle that. I feel a bit silly harping on things like POJOs and setting data on a new object, but that's a big part of day-to-day stuff and it definitely pushes users away from Java towards languages that seem "better" simply because they don't have Java's oddly strong attachment to not offering simple value objects. Yes, again, records do something - but it feels like Java ignored how people are using Kotlin, Go, C#, and more and didn't go for something that would have been as widely applicable and pragmatic as it could have been.
Java has a lot of great stuff like great GCs (yes), lots of cool research, great performance, and Project Loom is really exciting. I just wish the language would lean a little more practical.
-
With the recent changes to Discord's branding, here's a proposition for a new tagline for C#. Thoughts?
I know I've been talking about properties a bunch, but let's look at Java. Java Beans are terrible - so terrible that the community has a number of workarounds. Immutables (https://immutables.github.io) lets you generate builders, Lombok (https://projectlombok.org) has their annotations that do runtime and IDE magic, there's Joda-Beans (https://www.joda.org/joda-beans/), there's the new Java Records if you want immutable-only and non-compatibility with lots of libraries, there are people using Kotlin for their data classes and Java for other things... Properties are this simple thing that lets C# work with the whole getter/setter pattern without being horribly annoying - there's just this weird { get; set; } thing that I can ignore because I don't care.
Babel (Formerly 6to5)
-
Mastering Jest Configuration for React TypeScript Projects with Vite: A Step-by-Step Guide
node 'node_modules/.bin/jest' '/Users/satparkash/code/test-app/src/A pp.test.tsx' -t 'App' FAIL src/App.test.tsx ā Test suite failed to run SyntaxError: /Users/satparkash/code/test-app/src/App.test.tsx: Support for the experimental syntax 'jsx' isn't currently enabled (6:12): 4 | describe('App', () => { 5 | it('should work as expected', () => { > 6 | render(); | ^ 7 | }); 8 | }); 9 | Add @babel/preset-react (https://github.com/babel/babel/tree/main/packages/babel-preset-react) to the 'presets' section of your Babel config to enable transformation. If you want to leave it as-is, add @babel/plugin-syntax-jsx (https://github.com/babel/babel/tree/main/packages/babel-plugin-syntax-jsx) to the 'plugins' section to enable parsing. Test Suites: 1 failed, 1 total Tests: 0 total Snapshots: 0 total Time: 0.278 s Ran all test suites matching /\/Users\/satparkash\/code\/test-app\/src\/App.test.tsx/i with tests matching "App".
- Open source public fund experiment - One and a half years update
-
I Reworked my Rate My GMU Professor (Google Extension)
Webpack (Babel) - https://babel.dev/
-
Babel is used by millions, so why are we running out of money? (2021)
I do appreciate your transparency, though I disagree with the sentiment that Iām arguing from a position of bad faith.
Itās a self-evident fact that the Babel team has not shown a moment of interest in lowering their role in the JavaScript ecosystem to anything short of kingmakers. Have a gander at their GitHub README and what do we see?[1]
- āBabel is a compiler for writing next generation JavaScript.ā Indefinitely.
- Over a dozen sponsor logos. An embarrassment of riches.
- A literal audio recording of a song in praise of the project.
The Babel team has a well documented history of their priorities[2], emphasizing the need for a modular approach that has no exit strategy[3]. At best, we have a case of accidental entrenchment and long term dependence on the Babel brewing as early as 2017![4]
Compare this infinite circus to the humble but popular Normalize.css, which has the express purpose to stop existing.[5]
If the Babel team wants to raise some money, they can start by putting a plan together that would codify an exit strategy. Itās certainly more noble than their current plan of barnacling on to every NPM packageā¦
- [1] https://github.com/babel/babel
- [2] https://github.com/babel/notes
- [3] https://github.com/babel/notes/blob/master/2016/2016-07/july...
- [4] https://github.com/babel/notes/blob/master/2017/2017-04/apri...
-
Reveddit does not work
The problem was I had used some new code, Javascript's replaceAll(), that is unsupported by older browsers. And, the setup I have to automatically fix such issues (called babel) is out of date. So, while this problem appears to be resolved there, I hadn't updated that in awhile.
-
The Complete Guide for Setting Up React App from Scratch (feat. TypeScript)
babel-loader(v9.1.0): allows transpiling JavaScript files using Babel and webpack.
-
Upgrade your Lerna Workspace - Make it Fast and Modern!
created 6 years ago to solve the specific problem of managing the Babel repo packages
- āIgnore the f'ing haters ā And other lessons learned from creating a popular
-
React project structure for scale: decomposition, layers and hierarchy
There are quite a few public repositories of well-known projects that use the multi-packages monorepo approach: Babel, React, Jest to name a few.
-
NPM Vulnerability Discussion on Twitter
The reason it doesn't get called out is because the philosophy of "thousands of small packages" has spread far and wide. [1]
For every person calling it out like we're doing here, there are ten others praising maintainers able to whip ten semi-useless packages per week.
It's not just random maintainers making small packages. The core infrastructure of Javascript is in it. Babel is made of hundreds of packages, which all live on the same repository (because of course the maintainers don't want the hassle of maintaining multiple things). Some of those packages don't even have anything of importance in it, just metadata, a couple flags and some boilerplate [2]. The package is just a way of organizing code. Webpack, ESLint and others aren't exactly better.
The reason people do it is because other popular people have been doing it for a long time, and nobody calls them out on it.
[1] https://blog.sindresorhus.com/small-focused-modules-9238d977...
[1] https://github.com/babel/babel/blob/main/packages/babel-plug...
What are some alternatives?
Traceur compiler - Traceur is a JavaScript.next-to-JavaScript-of-today compiler
Live Server - A simple development http server with live reload capability.
ESLint - Find and fix problems in your JavaScript code.
Lebab - Turn your ES5 code into readable ES6. Lebab does the opposite of what Babel does.
javawriter - A Java API for generating .java source files.
FreeBuilder - Automatic generation of the Builder pattern for Java
dark-mode - Control the macOS dark mode from the command-line
ECMAScript 6 compatibility table - ECMAScript compatibility tables
swc - Rust-based platform for the Web
http-server - a simple zero-configuration command-line http server
es6-features - ECMAScript 6: Feature Overview & Comparison
torrent - download torrents with node from the CLI