They open-sourced it because they want it to be a standard
@skrypets6 ай бұрын
because of 'Mother Nature"
@lmao49826 ай бұрын
I mean yeah it would be insane to keep this kind of thing proprietary no?
@Malix_off6 ай бұрын
@@lmao4982you'd be surprised
@no_name47966 ай бұрын
Probably because they want people to freely maintain it. I hate corporations abusing open source, but putting a big price to the end user. Open source it's great when end users benefit from it. If open source is hidden under 20 meters of proprietary garbage, why is it any different then unpaid labor?
@ayoubthegreat6 ай бұрын
@@jhuglen whats wrong with it
@TheRyulord6 ай бұрын
The fact that Pickle and .pkl are already the name and extension for a common existing file format is driving me insane.
@ck-dl4to6 ай бұрын
No one should use a file extension as identifier.
@DemPilafian6 ай бұрын
The fact that pickle ball makes such an annoying popping sound is driving me insane.
@monad_tcp6 ай бұрын
@@ck-dl4to NTFS had streams and that failed because people hate Metadata inside the file Metadata goes in the file system, the name is Metadata, extension and file type also is
@KaiHenningsen6 ай бұрын
@@monad_tcp NTFS probably had streams because MacOS had resource files.
@livioribeiro6 ай бұрын
Swift was already a programming language before Apple release theirs
@FIIRdesu6 ай бұрын
13:17 "Imagine if your JSON autocompleted and gave you errors when you were editing it" You don't even have to imagine, it's already a thing with JSON Schema.
@ephektz6 ай бұрын
He mustn’t have edited a package.json in a while.
@CryptoDrewStreams6 ай бұрын
Within the first 3 mins of this video, I was already screaming JSON Schema. It follows DRY principles, has validation, is standardized, can be transpiled to POCO code in various languages. And JSON Schema files can also be referenced in an OpenAPI/Swagger spec to generate code for entire API endpoints. But sure, Apple, do your own thing. Just like they are trying to build the next standard of podcasting when we already have a well-developed Podcasting 2.0 standard.
@soniablanche56726 ай бұрын
yep and it's supported natively by vscode
@fullstack_journey6 ай бұрын
Typical theo
@omri93256 ай бұрын
But it doesn't have for-loopsd!!@#!@#
@jesse99999996 ай бұрын
as a person who uses python pickle files every day i find this naming choice very annoying
@timothyvandyke95116 ай бұрын
Literally thought the same thing (but I’ve only used the library like once)
@toooes6 ай бұрын
PYTHONISTA: REEEEEEEEEEEEEEEEEE
@soupnoodles6 ай бұрын
Youre supposed to name those as ".dat" files
@magikarpusedsplash88816 ай бұрын
I found it funny because usually if I wanted to pickle something, there was a better solution assuming I wanted my project to be scalable in some way. And to be fair, you're going to choose one or the other, and as far as I know there's no external programs that open pickle files directly so you'll just be opening Apple's .pkl with a text editor and not touching pickles directly anyways.
@Axman66 ай бұрын
You should probably stop using the security nightmare that is python pickle.
@SilentFool6026 ай бұрын
You can tell they want folks to use it because they also released a neovim plugin and aren't just catering to VScode users
@lbgstzockt84936 ай бұрын
Why does the EU live in your head rent-free?@@jhuglen
@lbgstzockt84936 ай бұрын
@@jhuglen Ah okay, I thought you had some weird hate-boner for the EU 😅
@jambalaya9746 ай бұрын
the neovim plugin is crap though
@jasondclark6 ай бұрын
I used to Pickle my Python back in the day.
@marwan76146 ай бұрын
Mmm Pickled python.
@vikingthedude6 ай бұрын
My mom used to as well
@VivekYadav-ds8oz6 ай бұрын
@@vikingthedudeYour mom used to pickle his python?
@thedoctor54786 ай бұрын
I still pickle my python. pkl is a well-known file extension for this. WTF
@ahmadaccino6 ай бұрын
the smartest thing a new standard can do is make it easy to incrementally migrate, and it seems they are doing that
@TanukiYT6 ай бұрын
I love that the example password they used was "hunter2" lol
@SeafoodFriedRice6 ай бұрын
What was the password? All I see is *******.
@dough-pizza6 ай бұрын
Someone's writing Doom in that
@NotNazuh6 ай бұрын
the funny thing is is that you're probably correct
@sion123ful6 ай бұрын
I work at apple, i joined when it wasn’t open source and i was very skeptical about PCL ( internal it’s called PCL instead of PKL) but it does solve a lot of problems and the IDE integration is great. It has completely replaced helm in our team, it’s much better. I hope eventually helm charts will also be published in PKL.
@TVPInterpolationАй бұрын
if only they wouldve still call it PCL here, as there is quite a confusion in the python community haha
@dronicx79746 ай бұрын
I feel bad for people that have to now use this and the pickle module for file saving in python programs
@catalystcorp6 ай бұрын
I feel bad for people that have to use python.
@techsavvy92586 ай бұрын
Yeah fuck me
@X-3K6 ай бұрын
@@catalystcorpi feel bad for people
@gh0stcloud4996 ай бұрын
@@X-3KI feel bad
@tsvetanvasilev83466 ай бұрын
@@gh0stcloud499I feel
@AndrewTSq6 ай бұрын
My first thought was it sounds just more complicated to use
@justa95606 ай бұрын
@@jhuglen You really need to take a nap or some shit man. It's either extreme sleep deprivation, an absurd amount of alcohol, or you're doped the fuck up on psychedelics. Either way, you need a break
@ESPViper1005 ай бұрын
That's my second and third thought as well. No, wait, the third is overengineered.
@Brixster6 ай бұрын
Regex makes this all the more cursed. Now you can have a string format language inside of a data format language which can now be directly processed inside of your application's language, which means you have a language in a language in a language. I am absolutely digging this! 😂
@mortenhattesen6 ай бұрын
Strictly speaking, RegEx is not a language, it is a pattern matching syntax. What would a better alternative have been? Invent yet another string pattern matching syntax for Pkl?
@lunakid124 ай бұрын
@@mortenhattesenIt was (basically) a tongue-in-cheek comment.
@joaodiasconde6 ай бұрын
I dont want logic in my config files, jesus christ I cant find this appealing at all.
@geomorillo6 ай бұрын
Really i prefer to validate my jsonf config file in my code, i dont like this and i agree with you, whats with this trend of overcomplicating things....omg, for example in c# i could use a library like fluenvalidation an validate rules for my json's structure with rules like "port" is an int for example .... not needing to define a new language for that 🤣🤣
@henlostinky2736 ай бұрын
this, just writing the parser for this was probably some intern's whole summer and it only made the problem worse. JSON is from 2001 and it's not impressive to be slightly better than one part of it 20 years later.
@duartecunhaleao6 ай бұрын
I would love not to have to write any more validation code along the main code...
@joaodiasconde6 ай бұрын
@@duartecunhaleao but consider that what is 'valid' may change from consumer or other factors and I doubt you are going to skip server/app side validations anyways and just leave it to this config, so you will end up doubling the validations. Also validation should be close to the app code im reading/writing as it is crucial.
@Spoonbringer6 ай бұрын
Seriously. And if you are creating long config files with a lot of repetition just write a script to generate them.
@PatrikStutz6 ай бұрын
Sooo... They didn't know Nix, Nickel, Dhall, CUE, Jsonnet or HCL existed and therefore had to create their own thing? :/ It doesn't even look that good tbh. But yeah, impressive that Apple open sources something. That doesn't happen very often.
@DemPilafian6 ай бұрын
What browser did you use to make your comment?
@nikkiofthevalley6 ай бұрын
@@jhuglenWhy on Earth are you constantly talking about the EU in every single comment?? What about any of this has anything to do with the EU????
@game_time16336 ай бұрын
@@jhuglenbro you’re drunk get off KZfaq 💀
@torsten_dev6 ай бұрын
@@jhuglen The EU just said you need user consent before you store data on their PC for reasons other than purely functional. The Industry could have just followed the Do Not Track setting, but they want your data. Not the EU's fault that sites are evil.
@ytdlgandalf6 ай бұрын
Cuelang is still rough but the real deal. I'm trying to understand it better and contribute.
@corscheid6 ай бұрын
It's basically the SCSS/SASS of config. Slick.
@jacoL86 ай бұрын
@@jhuglen hey can you stop spamming replies with this nonsense… You are conflating two completely different things… Apple is forced by the eu to conform to certain standards that the eu has set, like using USB-C ports, but that doesn’t mean that the eu has “forced” them to make a config language they developed open source… Like.. I really don’t know what you mean by “eu forced them” or “only in eu” here
@SwatejTech6 ай бұрын
I'm guessing you are 14 @@jhuglen
@sebastianskovnielsen64726 ай бұрын
@@SwatejTech I wan't to know what he said ):
@OverG886 ай бұрын
Actually, it's mostly HOCON.
@thegittubaba6 ай бұрын
About the IDE autocompletion 13:30, you do have json-schema.
@Gunzy836 ай бұрын
@@jhuglen Wtf are you on about
@ParasocialCatgirl6 ай бұрын
@@jhuglenthe easiest comments to delete are the comments that never get made 🙏
@iivarimokelainen6 ай бұрын
@@jhuglenyou need to get off the internet
@DrumMeister5 ай бұрын
It’s time consuming to write, even if tools can help it’s full of boilerplate
@ssshenkie6 ай бұрын
Cool idea, but I'm having a hard time understanding the actual use case. I have never found myself needing a language agnostic config, Both JSON and YAML have schema files which solves auto complete.
@dealloc6 ай бұрын
When you work with environments which practically live on configurations and a mistake can take down a fleet of services, this is _very_ useful.
@ChristopherCricketWallace6 ай бұрын
I would rather them put thos energy into fixing the crashing bug in Xcode. Or maybe decoupling that IDE and compiler from MacOS versions so you can work on old apps without having to switch to old Macs with old MacOS versions.
@wolfeygamedev16886 ай бұрын
lol, apple dev will always be somewhat cursed. Its what they chose when they decided to be super proprietary.
@designator74026 ай бұрын
>old (anyhting) >Apple There is no backwards compatibility. There is no tolerance. You will work with the newest version, whether or not it makes sense.
@markuskonrad60496 ай бұрын
You do realise Apple has more than 5 engineers and not all of them can meaningfully work on xcode, right?
@chri-k6 ай бұрын
does Apple even use XCode internally?
@victorperezasuaje2556 ай бұрын
Pkl feels like Typescript meets SASS
@scottamolinari6 ай бұрын
I was about to say something similar.
@cobrasys6 ай бұрын
Very true.
@withindreams6 ай бұрын
Dude this isn't as big of a problem in JS land. For JSON, we have schemas. For JavaScript and TypeScript, most packages come with a defineConfig out of the box, and if they don't, rest assured somebody has already published an NPM package for that purpose.
@ilonachan6 ай бұрын
chatter getting worked up about "version conflicts in config files": that's literally just a thing. The config format (or parts of it) may change over time after all, and it's important to keep track of that. It's great if Pkl can encode these existing problems and provide editor support for solving them... tho I wonder what form that'll take in practice, if and how different versions of a config format might be supported at the same time.
@MichaelBabcock6 ай бұрын
There's a difference between changing config files and tracking configuration versions so you can load data from older formats properly.
@DeuxisWasTaken6 ай бұрын
When I saw a configuration language that is "a blend between a static language and a general-purpose programming language" I immediately thought of Nix, a language with similar ideas created for a similar purpose. Nix doesn't seem to do very well outside Nix and NixOS ecosystems though, and Pkl does seem easier to grasp.
@miallo6 ай бұрын
Totally agreed - for my NixOS system that I have been using for almost 4 years now I am happy with the subset of the Nix language that I need to know, but even then it sometimes still is hard for me to understand the syntax. And for programmer that is not used to it I think it is harder to fight with some of the constraints that you will run into when using nix in a very dynamic ecosystem: in the company I work for we are using it e.g. for building some JavaScript stuff and just the amount of work it takes for _some_ of the dependencies to be packaged is just insane (but to be honest, so is what those dependencies are doing on installation...). So yes - I really love NixOS, but I personally am sometimes struggling a bit with the nix language (yes - because I don't use it (or something similar) that often)
@dotanuki33716 ай бұрын
@@miallo just learn FP .. here's a hint: you can do everything with foldl'
@Lemmy45556 ай бұрын
As a Typescript developer i don't see much value in this, because a pkl file have roughly the same lines of code of a regular js/ts file used for configuration, but using js/ts doesn't need to install additional binaries or dependencies. However i can see some potential for more complex languages like Go/Rust/Java/etc. that are not suited for small "scripts" since they take in account stuff that you don't care when creating a configuration file such as pointers, packages, namespaces, classes, the borrow checker, constructors, errors handling.
@dealloc6 ай бұрын
> but using js/ts doesn't need to install additional binaries or dependencies Huh? What world are you living in where JS and TS doesn't require binaries or dependencies?
@recepciftci26426 ай бұрын
@@dealloc Computer has already NodeJS installed. So you don't need to install anything extra.
@dealloc6 ай бұрын
@@recepciftci2642 What computer? No computer comes with NodeJS preinstalled. You may have Docker images, but then it makes his initial point moot. Plus you'd still need to add TSC compiler as a dependency. That is besides the point, it's comparing apples to oranges.
@Nekroido6 ай бұрын
@@dealloc you don't need to add TSC to a TS project, because it's already been added. Use TS configs for TS projects, PHP for PHP projects, you get it
@MrBa1436 ай бұрын
@@dealloc I will help you understand the comment. The comment did not mean that JS and TS doesnt require binaries / dependencies to be installed, the commentor was talking about simply using JS/TS files as a configuration file, thus not having to install any other binaries related to configuration management tools. Sometimes its okay to assume things and not take everything literal, especially in a world in which english is a secondary or tertiary language for many people. Perfect grammar is something alot of us wish we'd have. Sometimes we slip up, and the meaning of a sentence might differ from what we actually had in mind when we wrote it.
@austinsiu23516 ай бұрын
I'm afraid that someone is going to craft some overly complex config with this syntax, becoming hard to understand and edit by others
@jocdiazm6 ай бұрын
Honey, I shrunk the JSON!
@terabit74006 ай бұрын
Don’t worry, you have a great personality ❤
@mortenhattesen6 ай бұрын
Did you end up with YAML?
@franklerch10126 ай бұрын
reading an article while recording yourself is soooo creative, original and value adding....
@3ombieautopilot6 ай бұрын
There's another configuration language I like which is Dhall. For those who love Haskell, Rust and etc.
@PRIMARYATIAS6 ай бұрын
Unfortunately it seems only the Haskell bindings are maintained and non of the other languages.
@ArizeOW6 ай бұрын
"Pickle" sounds like "Pickel" which is German for "Pimple". Can't wait to hear my coworkers say "Create a pimple file for this project!". For that reason, I'm out 😆
@patricknelson6 ай бұрын
All the Python folks are hissing about this (don’t blame ‘em, they’ve been using “pickle” for serialization for ages). Anyway - I wonder if at Apple, all their Kubernetes cluster manifests are written in Pkl files. Hmm… that’d be interesting to look at!
@vitalysuper31936 ай бұрын
Every year you present two vscode killers and three json replacements
@JoshuaBarone6 ай бұрын
How would you compare this to Cue? Seems like they are solving the same problems
@WeaponBalalaika6 ай бұрын
Yes, definitely! cue seems more pure and pkl more eng oriented. They clearly share underlying abstraction.
@codingjake6 ай бұрын
I was thinking the same thing
@DryBones1116 ай бұрын
Cue looks more powerful to me. The built in scripting engine in Cue is brilliant.
@brodriguez110006 ай бұрын
@@DryBones111 Hopefully no security holes.
@markolson85696 ай бұрын
I swear people undervalue the importance of ease of writing a parser. JSON was designed to be easy to parse; this obviously is not
@stumblinzz6 ай бұрын
I'm going to keep using JSON, avoid YAML, never use XML on principal and now avoid using Pkl. Sounds good!
@GnomeEU6 ай бұрын
Why they need validation in a config file? My program can read the file and tell the user what is wrong. I don't need to learn a new scripting language for that. And if you config file gets too big I want to use a real programming language to create it anyway. Plus source control.
@TheKmsaboor6 ай бұрын
Yes .properties are still being used especially in default spring boot apps
@31redorange086 ай бұрын
Can't blame him. He lives in a frontend bubble.
@shubitoxX6 ай бұрын
you can use yaml configs which are more readable for larger configs
@TheKmsaboor6 ай бұрын
@shubitoxX I know I just wished my department used YAML more often 😂
@omri93256 ай бұрын
This is very very cursed, could not expect less from Apple
@enderger53086 ай бұрын
This concept has already been executed in the form of Dhall and Nickel. Nice to see another competitor, but I’ll stick with Dhall.
@gearboxworks6 ай бұрын
Had not heard of DHall or Nickel. Just found their websites and notice that while DHall has a VS Code plug-in, they have no support for JetBrains IDEs. So for that reason alone Pkl is more attractive to me, since I'm spend most of my days in GoLand.
@kdihalas6 ай бұрын
So they recreated DHALL?
@transcendtient6 ай бұрын
I don't understand why this matters. If you need enforcement or validation at the configuration file level you catch it at processing or generation. This does the same thing while also being another middleware you have to configure and maintain. Saying that its hard to maintain some code that generates or validates your configuration or that any other languages isn't made for that is a silly thing to say.
@MeriaDuck6 ай бұрын
Classes, functions, loops and annotations; surely they did not reinvent C# or Java?! So to prevent using, say, groovy to do this, we now need pkl. That's just replacing 💩 with new 💩. All this smells too much like XML with xml schema. But a bit better, because XML is a massive 💩🙃
@gatsbysdead5 ай бұрын
Python’s pickle library: am I a joke to you?
@DeuxisWasTaken6 ай бұрын
They thankfully realised that the only way to have it adopted is to not only open source it but provide extensions to major editors, even VS Code. It's a good call, if they tried to make something proprietary, it would die painfully. Pkl seems cool, but it smells of something that will be infamous for quirks and hard to make parsers like YAML. Time will tell I guess, I do like it and hope it catches on and ends up being good.
@_fudgepop016 ай бұрын
honestly this seems REALLY cool - from the title I thought it was just another way of storing data that's nicer to use than json like hjson or yaml, but no this seems like WAY more!! really cool stuff :D
@carmineingaldi476 ай бұрын
It seems they tried to recreate Terraform's HCL language, but without Terraform behind. Still I don't see it's usage overlapping wit json/yaml/toml or whatever. Let's see 3 use cases: 1. Transport format: it doesn't seem suitable (if I need schema oriented stuff and validation why not using binary formats such as thrift,avro or protobuffers?) 2. app configuration: imho I still would go for something simple and execute logic in my application instead of adding an additional step in my build process for compiling and packaging 3. Build configuration: do i really need standardization?eg If I'm in the jvm ecosystem I use gradle with groovy or kts and there is one in a billion cases where I need to transfer this configuration to another stack. Yes it takes more mental energy to learn all the tools and languages in order to be a polyglot developer but there is not so much to do unless you don't want to invent a an ecosystem agnostic deps/build management system...and good luck with that!
@zephyr7k6 ай бұрын
I can't wait to see this for Terraform
@gearboxworks6 ай бұрын
Of course a third party might do it, but it's not likely to get first-class support from Hashicorp since they defined their own config language in HCL. It *might* make Hashicorp listen to users more and address some of the issues with HCL, though.
@LaoZhao116 ай бұрын
I agree with your point of view!!!
@pqnet845 ай бұрын
Have you tried cdktf?
@QuietWind016 ай бұрын
Am I the only one that thinks this would be creating more work and costing more time than it saves? It just seems awfully redundant. Maybe it's just because of the nature of what my projects usually are...
@gro9676 ай бұрын
People who use Yaml are beyond saving…
@excitedbox57056 ай бұрын
So C macros for config files? something like Cmake? This is just another syntax to add to the collection I have to use once every few weeks. Between all these scripting languages, config formats, CLIs, programming languages, etc we are expected to know is nearing 100+.
@soniablanche56726 ай бұрын
you can actually use C macros in any languages, but nobody does it because it would confuse newbies who have no idea what a preprocessor is EDIT: also your IDE would complain about syntax errors lol
@dealloc6 ай бұрын
Definitely not like CMake. Thankfully.
@chhihihi6 ай бұрын
Being a big fan of comptime in Zig, this will work beautifully. Types in more complex use cases are in desperate need of logic that can be resolved during the compilation of a particular program.
@devinlauderdale9635Ай бұрын
Theo this is exactly the approach Hashicorp tried to take with HCL
@emo41236 ай бұрын
apple and open source in the same sentence is funny af
@gearboxworks6 ай бұрын
So, they created Cascading Configuration Language; they should have named it CCL. Given how maintainable the seemed-like-a-good-idea-at-the-time CSS turned out to be, I am not so sure that we should consider them creating a cascading configuration language to be a good thing... 🤷♂️ #jmtcw
@BastianInukChristensen6 ай бұрын
1:26, Apple has an official Swift LSP for VSCode btw
@Ebiko6 ай бұрын
So from my understanding, this is supposed to help checking out projects, where the default config is ommitted from the repository, but you still want a default config to be created on first run, like an ENV bootstrap ? Or what is this useful for ?
@Ali-sc6dh6 ай бұрын
This is so awesome ! Currently I'm using json config file to validate and get autocomplete on my json files. And I do not have the best experience with it. Pkl could be a game changer !
@torb-no6 ай бұрын
Wouldn’t say say Apple dislike JavaScript when they have integrated JavaScript support all over the place in their products. But yeah, Pkl looks cool! Always great to see more safety in languages. Thanks for showcasing it.
@naresh_deeti6 ай бұрын
spring boot integration 😲
@mattmmilli82876 ай бұрын
ngl the most interesting part to me is standardizing the way runtime json gets generated 😮 it’s an easy task but cool not to have to decipher whatever madness someone cooks up to do it
@aprilixzivКүн бұрын
00s - use xml 10s - use json and... xml. for legacy reason 20s - use yaml and json and xml.... yes, still 30s - pkl! now we have pkl, yaml, json and... xml. yes you WILL
@parlor31156 ай бұрын
I'm all in for built-in declarative validation rules, but built-in programming will make it hard to maintain readability (you don't know the result until the file is executed / compiled). Still will give it a go, though
@bart20196 ай бұрын
If they keep extending it this way, they'll eventually end up with full blown JavaScript.
@oserodal27026 ай бұрын
Apple reinventing Nix was unexpected to say the least.
@mdski9525 күн бұрын
Years ahead: > a hefty chonk of industry now indulges Pkl`es in The Pantry Papple: > Oy, dearest fellas, we've been compelled to announce changes to licensing. Products with 100+ users shall now be subject to billing plans for them Pkl`s and are required to allow full telemetry & analytics on all yo' devices... ee and y'all have to use Siri
@Cowboydjrobot5 ай бұрын
So they essentially made protobuf for config files
@sergiotortosabenedito86046 ай бұрын
Honestly, I've already seen all of this before. There's a language much smaller called Nickel, same concept but it's based on FP (perfect for config) and it's already past 1.0.0.
@HiImKyle6 ай бұрын
So it doesn't replace or "kill" anything, it just makes making those things more usable? I don't think I'm understanding it right
@yoanhg4216 ай бұрын
Clickbait
@felixw8416 ай бұрын
Well, both. There's the json/yaml/whatever generators in the CLI itself. With those, you could only ever *write* PKL from now on and add a pkl step to your build process which translates your pkl config your desired format. There's also the interpreter/compiler implementation for different languages, so you could also load pkl files directly from through one of the supported languages (Go, Java, Kotlin, Swift) without the intermediate step to json/yaml/...
@HiImKyle6 ай бұрын
@@felixw841 But whats wrong with json schema?
@memk6 ай бұрын
Turing complete in data format? Once again proving the only thing human learnt from history is that we learnt nothing from history.
@mlykke5 ай бұрын
A solution in search of a problem...that doesn't exist. We REALLY need to snap out of this mindset where everything needs to have a framework, transpiler, linter, build tool etc. JSON, YAML et al is super simple already. There is no need for introducing an intermediary format to "compile" it to JSON or YAML. It just ads complexity without any benefit. It's not like you can make one PKL config and then move it around between different applications, since those applications would have different config options and naming conventions.
@VincentFree6 ай бұрын
Don't think kotlin support is mainly about android. Kotlin is used to build ios apps and apps across the Apple eco system. Also it's just a better java and it's able to interop with java so it seems like low hanging fruit though if it's true multi platform kotlin it'll be a bit more that java -> kotlin. Happy to see Go support as a first class supported language btw!
@kettanaito6 ай бұрын
Let's make inefficient configs also confusing.
@Avantarius6 ай бұрын
This looks very much like the next log4j vulnerability waiting to happen. I'm always surprised how simple things like logging or configuring can become so overengineered. Also validating configuration options in the config rather than at it's use site strikes me as similar to validating user-submitted data only on the browser side and not the server side... it just feels wrong.
@asimpletune6 ай бұрын
I like how the guy from Super Troopers agrees with me that PKL is probably the path forward in terms of configuration languages. It encodes a lot of type information, so it follows that with PKL is at least capable to generating any static configuration that requires less information. On the other hand, the fact that it is limited as a programming language guarantees that it will remain focused and stay easy to read.
@Mikenight1206 ай бұрын
The fact Go is considered as the first 4, shows Go is going places🔥
@tombuckley916 ай бұрын
I knew Silicon Valleys fondness of pickleball was going to spill over into the collective unconscious.
@kevanschwitzer85856 ай бұрын
This is the kind of content I'd subscribe for. Have seen your videos ocassionally, but valuable content like this is subsbscription worthy.
@micaelviana6 ай бұрын
Apple building a neovim plugin!? Charlie, the world is not the same as it was
@lost-prototype6 ай бұрын
Nope. This is the last thing the industry needs. Sensible consumers avoid their overpriced products, and they should also never touch an apple technology that tries to get into our workflow. "FOSS" or not. No more corporate closed source proprietary. Snap out of it people, development isn't fashion.
@Applf1tech6 ай бұрын
If Microsoft has thought us anything it’s that any company can go open source.
@nO_d3N1AL6 ай бұрын
This came out of nowhere, they basically made a very accessible and powerful modelling language with generators and all... incredible
@PieJee16 ай бұрын
When i heard about pkl i was not interested thinking we already have enough tools, but the features shown here have some features. I can imagine using this to share a configuration between a frontend js and a backend rust/php/c application.
@ColinRichardson5 ай бұрын
Tell me apple have not heard of JSON schemas without telling me apple have not heard of JSON schemas.
@AnggaTirtaFL6 ай бұрын
Oh god, another migration potential. Don't let my boss see this.
@mohitkumar-jv2bx6 ай бұрын
I am loving that theo has returned back to his roots in terms of tye content he is putting out.
@peppybocan6 ай бұрын
It's far from JSON/YAML. Also we have HCL which kinda masks itself as something extra. I am very sceptical of this. Smells like Protobuf, why not use the damn Protobuf?
@peppybocan6 ай бұрын
oh and I forgot XML and XSD (their Properties Plist nonsense). And TOML, INI, and probably half a dozen other configuration languages.
@virkony5 ай бұрын
Nickel also have constraints and documentation. And Nix is really cool in merging things and have inter-dependent pluggable modules of configurations.
@deegobooster6 ай бұрын
hunter2 as the example password is a funny reference
@jugendhacker28336 ай бұрын
Gives me xkcd 927 vibes... "One standard to rule them all"
@jugendhacker28336 ай бұрын
Oh and what could possibly go wrong if you have a config language that could actually contain logic 🤦
@charliecarrot6 ай бұрын
Does it give you those vibes because he showed that exact xkcd comic at 3:46?
@jugendhacker28336 ай бұрын
@@charliecarrotoh I did not even notice that 😅
@etilworg6 ай бұрын
"Configuration is becoming too complex, we need a new programing languaje for configurations. " is something that you hear from a newly graduated programmer
@PythonPlusPlus6 ай бұрын
I don’t like that it has the same name as pythons serialisation format.
@masamaeda9217Ай бұрын
I've been using Dhall for the last 5 or 6 years, I honestly think the only reason it hasn't caught on is it came from a functional programming background.
@tangentfox46776 ай бұрын
People have already lived to 120+. Setting a maximum age of 130 is surprisingly shortsighted.
@prozacgodgamedev6 ай бұрын
do we get a PKL - SQL Table? oh wait, you're covering that right after I asked... damn
@tomasb31916 ай бұрын
Just use JS. extend JSON with JS that’s the sane way to do it. I didn’t like this pkl thing at all.
@thedoctor54786 ай бұрын
Make the XCode vid. Every now and then I'm forced into it for some swift I have to deal with, and it's just the worst of the worst. So I think "NP, I'll just recode this app on Linux in a different language, and compile it on Mac." All is well until it comes time to sign the app with the Apple Dev key. Then, the nightmare begins anew.
@nicgrobler15196 ай бұрын
adding ‘logic’ to config is like building a house of cards, except where the cards are made of s**t
@bjmaston5 ай бұрын
Because we all want another programming language in our repository.
@luke-gamedevlearning6 ай бұрын
It should be noted and remembered that there is absolutely nothing special about any kind of data file, whether it be a real config file (globals and sections), an XML config file, a JSON file, a '90's database and multi table file like Dungeon Keeper has, or any other plain text data file that we can write. They all originally had programs that parsed them and used the data values how they needed. Like Dungeon Keeper using the multiple relatable text data tables, which I have made a Console editor for. I very recently made my own C# parser and writer for JSON data which works perfectly and is very strict on there being no errors in the text. So now I have a no-hassle way of using JSON data from a file. I could use it for app config and even game data which would allow the game to be modded. Yet long before that I made the same deal with XML, with better functionality in C#, and long before that I made the same deal with real config. I even once made a data reader that turns the first words into column names and all the next words into entry names and auto make a text table like the Dungeon Keeper ones, even with initial values. It is so easy to make custom ways to read data text files. You just need to make the app that parses the data into the runtime data, like objects etc., that it needs. This is all very fun stuff, but don't be sucked in with the hype. We can all do this.
@luke-gamedevlearning6 ай бұрын
"Interesting" you say. I now have a bunch of new ideas to create in C#.
@luke-gamedevlearning6 ай бұрын
Let's tell the truth, though. This is yet again not an actual programming language.-It doesn't result in executed binary. It's only analysed during parse. This happens to be a manifest language, just like the text data is that you write in a file for creating the Windows Cabinet (v2) file.
@timrosulnik15886 ай бұрын
Most known Apple's OSS projects are CUPS (printing system) and Webkit (browser engine). But it looks like they handed over the development of original CUPS to openprinting and now only focus on "Apple CUPS".
@LoudMouth_6 ай бұрын
he turned JSON into a pkl, funniest config language I've ever seen