Главная страница
Конфиденциальность
Информация для авторов
Наши контакты

НОВЫЕ ФИЛЬМЫ И СЕРИАЛЫ ОБНОВЛЕНО СЕГОДНЯ

 





Формат Размер Скачать

Информация о видео


Название :  
Продолжительность :  
Пользователь :  id 824787800062
Дата публикации :   ript src=
Просмотры :   layer\/9135c2ab\/www-embed-player.vflset\/www-embed-player.js
Понравилось :   748
Не понравилось :   54


Кадры из видео




Комментарии к видео



@ciCCapROSTi
I really want to know what Zig brings to the table over a feature-restricted C++. You can do most, if not all of these things in C++, and you don't HAVE TO use the nasty stuff.
Комментарий от : @ciCCapROSTi


@adanjsuarez
Zig is a monster!... in a very good way.
Комментарий от : @adanjsuarez


@edgeeffect
I'm SO pleased that there's finally someone out there among the "movers and shakers" throwing a little shade at the C preprocessor... I've been quietly hating it for about 25 years now.
Комментарий от : @edgeeffect


@Estereos
eliminate also "error handling" and maybe then we will talk about how good your language is... only idiotic program "handles" errors, uses asserts, prints out the stack trace. Good program deal with errors, there should NOT be a condition when program doesn't know what to do. even f*cking "division by zero"
Комментарий от : @Estereos


@deadmarshal
Add more buzzwords lol
Комментарий от : @deadmarshal


@fifty6737
many people in the comment doesn't really get how awesome a language like this means
i remember React.js introduction, nobody wanted it, now react & js framework that came to improve upon it run the web

C is so horribly bad and weird that it's impossible to maintain, easier to make buggy and unsafe code with it
Zig is a language with big balls, it's doing the obvious things that nobody did for decades
- Why have build systems that are in another obscure language when you can use the language itself to handle the building
- Macros are weird, why not program the compile time stuff with the same language
- Generics are compile time stuff, again why create weird syntax for generic typing when you can just program that type in compile time with the same language
- allocation and cleanup should always be next to each other
- why have some elaborate typing system for exceptions, when an enum for the different kind of errors is much easier to deal with
- unit tests are boring and complicated because they are always an afterthought and not made from the get go to be with language, zig does unit testing better than 100% of the languages
- std = @import("std") makes so much fucking sense
- and zig acknowledge that C have huge codebase, so they built a better tooling for c than c itself has, and you can import header files natively

i like Rust, but now i love Zig more, zig have the balls to create a proper language that is not complex like Rust, and doesn't hold your hand and force some set of rules upon you like Rust Borrow Checker
But zig has a long way to be mature enough and feature rich

Комментарий от : @fifty6737


@opensourcedev22
I cut my teeth on C 2 decades ago. This dude knows the pain points and I'm glad he has enough time and resources to deliver. If Zig is the eventual outcome, so be it. It looks fine to me. Great job
Комментарий от : @opensourcedev22


@FostersLagerMorphs
A few days ago, I watched Herb Sutter's talk "The Evolution of C++ - A Typescript for C++" and he highlighted the importance of an easy migration path (i.e. backward compatibility) when evolving a language (the decade it took to move from Python 2 to 3 being a prime example). That's where my mind went when Andrew mentioned that Zig can compile C code. I do a lot of embedded systems work at the moment, and the cross-compilation feature plus the ability to easily work with C has my interest.
Комментарий от : @FostersLagerMorphs


@yash1152
36:35 who, WHO said msvc 12GiB download is easier to install??????
Комментарий от : @yash1152


@yash1152
28:31 stack trace & error trace..
it would have been good to see this in the stderr output itself

Комментарий от : @yash1152


@yash1152
26:02 ohw, so, this is similar to "import std as std" in python right?

"const std = @import("std");"

Комментарий от : @yash1152


@yash1152
20:17 rust print formatting errors....
Комментарий от : @yash1152


@yash1152
1:32 so the slide was really stuck lol!!
Комментарий от : @yash1152


@rasbinthapa5535
Please make documentation easy to read
Комментарий от : @rasbinthapa5535


@laughingvampire7555
so if it isn't safe then it has no quality.
Комментарий от : @laughingvampire7555


@laughingvampire7555
OMG all his examples are just newbies mistakes, this guy is a clown
Комментарий от : @laughingvampire7555


@laughingvampire7555
3:17 given that the most used programming languages in the industry are garbage collected, even for HFT like Java/C# and for the web are still Java/C#/PHP/Python/Ruby the title of that slide is a little too wrong. Those languages are widely used, and they were designed for those specific use-cases because no one wants to invent a hammer to nail everything including screws, remember "right tool for the job"

And docker yes, I agree that was the case, at least in part, but mostly was about ensuring that also testing and the execution of the applications was reproducible because most programming languages with a few exceptions like anything that runs on the jvm, clr, beam or anything that uses memimage-based development ala smalltalk/common-lisp suck at isolation from the OS because the most popular languages like php, ruby, python, c, perl are tightly integrated into Linux.

with anything that runs on the jvm/clr/beam you can easily distribute a precompiled signed package to deploy it easily. it can be compiled easily anywhere as long as it remains in this curated environment easily because all you need is the SDK of each of them. With memimage/beam is even easier because you don't even have to restart the environments.

the problem and the culprits are the shitty php/python/perl/ruby/nodejs

Комментарий от : @laughingvampire7555


@AyrtonGomesz
Tough crowd haha
Комментарий от : @AyrtonGomesz


@Robert-ht5kd
Hail satan!? What an idiot!
Комментарий от : @Robert-ht5kd


@HairyPixels
He's fixing C, great, but then why scramble all the syntax? It would have been far more useful to the rest of the world if he maintained as much of the C syntax as possible.
Комментарий от : @HairyPixels


@eigentensor
This is probably the single best talk I've ever seen, bravo
Комментарий от : @eigentensor


@qm3ster
Oh no, prefix "try" :(
Комментарий от : @qm3ster


@nathanruben3372
Preprecessors sometimes usefull, you do not want linux branches active windows even if those branches are not executed. Those code sections are striphed off before compilation.
Комментарий от : @nathanruben3372


@zxnnightstalker2289
Wow, I got an idea. Let's do Zig++
Комментарий от : @zxnnightstalker2289


@stanislawpalka9015
Zig is very bad idea and language worse than C. Kelly is very poor programmer.
Better than C is Cext. This is extension of C of environ 30 features. Program source shorter, exe faster, more secure, more portable.

Комментарий от : @stanislawpalka9015


@zytr0x108
What I don’t understand is if he just wanted it to be C with improvements, why did he change the syntax so drastically? It’s quite an adjustment to write

var name: type = value

Instead of

type name = value

I’m sure it has a reason, maybe to make it easier to differentiate functions and variables? But he didn’t really talk about it.

Комментарий от : @zytr0x108


@Kabodanki
there's code in airplane and elevator though, why won't it work for voting ? that's dumb
Комментарий от : @Kabodanki


@zweiwing4435
I wish to buy the book?
Комментарий от : @zweiwing4435


@Morphinwithyou
I liked the idea but Syntax is not good.
Комментарий от : @Morphinwithyou


@brentmifsud6181
one of the biggest issues I have working with C is that its just not human readable.

Compare that with something like swift where code reads out like English sentences.

Комментарий от : @brentmifsud6181


@EzequielRegaldo
With composition and functional std lib like golang + http standard servers this lang will rock
Комментарий от : @EzequielRegaldo


@draakisback
This was a fine talk, but I am not seeing a compelling reason to use this language instead of rust or common lisp or Ada spark. I can do everything you put in here with any of the other languages I listed. Also, your first premise is slightly flawed. Why should every language support every domain?
Комментарий от : @draakisback


@Vogel42
40:55 there should have been a standing ovation instead of a cough
Комментарий от : @Vogel42


@jstenberg3192
I am not a coder or tech guy...im a business person trying to learn enough to understand why the tech world can't solve my problems in a way that is fast, secure and reasonably future proof. What a fascinating world you all live in and I'm glad people are trying improve things.
Комментарий от : @jstenberg3192


@apidas
reusable software, hahah
Комментарий от : @apidas


@michaelharrington6698
The native printf language support with the comptime support then showing how comptime supports generics was awesome. Nicely done!
Комментарий от : @michaelharrington6698


@IntrovertedTechie
12:48 you got me there
Комментарий от : @IntrovertedTechie


@user-zk9px2vt3j
😁when your app is lower than c, someone will rewrite it. hahah
Комментарий от : @user-zk9px2vt3j


@iarde3422
"Perl applications are not going to do advantage of a python library...", that's a false statement!
There is a module in perl, allowing to use an inline python in perl code and use python libraries.
In addition, there are many other interesting modules in perl, like allowing inline and library C, ASM, TCL and some others.

Комментарий от : @iarde3422


@abhishekpandework4461
WTF!! Eye opener!
Комментарий от : @abhishekpandework4461


@milahu
14:30 the need for comptime is surprising, as fibonacci(7) is a perfectly constant expression
Комментарий от : @milahu


@mullergyula4174
I love your approach. Rust sounds like something that can get very complicated.
Комментарий от : @mullergyula4174


@LarsBjerregaard
Great stuff! I really like the look and syntax and the build system seems awesome.
Комментарий от : @LarsBjerregaard


@mycollegeshirt
I think it's that we can be bad at what we do. You don't have to be particularly smart to be a programmer, in other branches of engineering if your product isn't designed really well it usually fails, ours it's okay if it fails so long as it works a good majority of the time, most of our stuff is not at all well designed, due to business constraints, and really blind leading the blind tbh.
Комментарий от : @mycollegeshirt


@diegosorte
I come from time to time to this talk to remind myself how awesome is zig. Now I’m even using it at my work :)
Комментарий от : @diegosorte


@michadarowny3811
Feel in love, just wow
Комментарий от : @michadarowny3811


@DanielSantaCruz
"C was broken, and I fixed it" -- haha, love it.
Комментарий от : @DanielSantaCruz


@divianschwitzle846
What about Rust?
Комментарий от : @divianschwitzle846


@elmar64
C's biggest problems are the lack of abstraction or standard library which makes it unproductive to use and the absense of any safety.

Zig addresses safety but other languages do as well like Rust, Ada, Nim. C++ does not address safety and also lacks powerful language abstractions. It just has verbose syntax and complicated rules.

I only watched this video but I don't see a unique solution which D or Nim wouldn't have.
* compile-time constants are "enum" in D
* conditional compilation has "version", "debug" or "static if" in D.
* "comptime" is "static" or "enum" in D. But explicit compile-time code makes code harder to maintain. It typically leads to "brain methods". However, Zig's solution is admittedly simpler, particularly simpler than explicit "template" concepts.
* "comptime" arguments are template parameters (with complicated type system they can become dangerous for productivity very fast).
* stack traces are pretty standard.
* "defer" and "errdefer" is like "scope(exit)" and "scope(failure)" in D. Nim's lead programmer almost wanted to kill this feature from Nim. Fortunately not.
* switch in the catch-clause looks like "final switch" in D
* own build system.
* D features an own C compiler which doesn't support VLAs however.

Error handling problems apparently not solved: separating responsibilities. Error handling should be separated from the correct paths but cramming them in the same function makes it hard to maintain and read.

The real future would be productive safety: code synthesis (automatic code generation from specifications) and verification features like using ghost variable information at runtime and solver-aided programming abstracted via language concepts for very simple use. That's a point where D won't have success.

Another thing: Powerful iterator abstraction instead of pointers. Automatically generate optimal iteration code based on where the abstraction is used without using indices or other meaningless helper variables.

I'd like to see clever aspect-oriented features to separate code and data structures into separate parts which can be combined automatically. Uninspired pesky tasks like transforming data structures and complex values into reordered or subset data structures should be auto-generated code. Physical structure of objects could be abstracted away completely, be interchangeable and only needs to be explicit for interfacing with foreign languages / machines.

Комментарий от : @elmar64


@bobweiram6321
This looks like a hacked up version of rust.
Комментарий от : @bobweiram6321


@PhilmannDark
Re defer and errdefer: Is it possible to mark a type as "resource" so you get a compile error when you forget to call defer or errdefer and just return from the code that creates it WITHOUT giving the resource to anyone?
Комментарий от : @PhilmannDark


@DerDoMeN
Now this an example of hubris...
Комментарий от : @DerDoMeN


@polyhistorphilomath
Was it moved for great justice though?
Комментарий от : @polyhistorphilomath


@arborealanole7908
Move Zig. For great justice.
Комментарий от : @arborealanole7908


@milkyway9225
less jokes more info about zig in everyday and rational stack. its not a motherfckng standup comedy ya know?
Комментарий от : @milkyway9225


@AbhimanyuAryan
Zig for C devs
Комментарий от : @AbhimanyuAryan


@Verrisin
Zig vs Rust? My understnading:
Rust is to replace C++
Zig is to replace C

Комментарий от : @Verrisin


@leontepe2329
This is amazing.
Комментарий от : @leontepe2329


@99codemister
Awesome presentation.

Awful audience, lol. Not one idea got a "woo" or any claps. The presenter would even look up to see if people were paying attention, then giggle, and move on.

Комментарий от : @99codemister


@krumbergify
Herb Sutter confirmed in a recent Cppcon talk that thrown C++ exceptions allocate memory on almost every platform, so you can't use them to catch a bad alloc, at least not if you are very close to the memory limit.
Комментарий от : @krumbergify


@origamibulldoser1618
Does RAII serve the same purpose as errdefer? And if so, why was a new concept and/or nomenclature introduced? If not, what's the difference?
Комментарий от : @origamibulldoser1618


@Ltuhkeeo
what do you think of rust?
Комментарий от : @Ltuhkeeo


@conceptualprogress
So basicaly now we can have runtime errors at compile time 0.0
Комментарий от : @conceptualprogress


@lodgin
The fact that it uses TypeScript's method of defining types for parameters and variables, but NOT for functions is making me irrationally angry
Комментарий от : @lodgin


@DSBrekus
You lost me at "promote code reuse".
Комментарий от : @DSBrekus


@skaruts
I'm not hyped by Zig's syntax, I'm still on the fence, but I have to admit this guy is right down to earth:
"If we're always gonna be lazy, then we better make the lazy path the correct one."
Exactly. People are always trying to change what realistically will never change. You cannot solve a problem by going against the natural way of things and having unrealistic expectations about people. If the road goes left, the solution has to involve turning left.

Комментарий от : @skaruts


@TheMrKeksLp
Personally my biggest complaint about Zig is that it doesn't seem to solve real world issues compared to C. Yes it has a few more features, yes it's quite a bit nicer to use but so are many other languages. And memory safety being the single biggest problem with using C and C-like languages not having it addressed in the language at all is a big turn off
What's the killer feature over other langs?

Комментарий от : @TheMrKeksLp


@andrewrobinson2985
I've been following a language for some time now called V and it was a cool little project for awhile. It was tiny, had decent C interop, and was geared toward addressing problems with some modern programming languages. And it was simple. You could learn the language in a couple of days.

I took a break from programming for a few months and I updated it and it's a mess. 7:38 really speaks to that - it's trying to be everything to everyone. It wants to be low-level and very memory safe, meanwhile its own stdlib has cross-platform window handling and opengl included natively.

Excited to check zig out, I'm happy for it's uncompromising nature.

Комментарий от : @andrewrobinson2985


@SzalayIstvan
1:03 "We can do better than this". Some seconds later...
Комментарий от : @SzalayIstvan


@totheknee
19:22 - How is that not known at compile-time? It's a string literal, right? Is that not stored as a static value at compile-time?
Комментарий от : @totheknee


@sirgalahamtroskipero4872
Another Esperanto of programming language?
Комментарий от : @sirgalahamtroskipero4872


@rodelias9378
Awesome work Andrew. Keep going!! 👍🏻👏🏻
Комментарий от : @rodelias9378


@lamebubblesflysohigh
Ok I thought I would be able to comprehend because I did some stuff in python... nah... if my brain had a compiler, it would self destruct
Комментарий от : @lamebubblesflysohigh


@hank-uh1zq
C just died. Finally.
Комментарий от : @hank-uh1zq


@Lucretia9000
Ada has been doing all this since inception. Shame about the syntax being too close to C. comptime should be after the colon.
Комментарий от : @Lucretia9000


@igorsilva736
47:08
Комментарий от : @igorsilva736


@zungaloca
Amazing
Комментарий от : @zungaloca


@NikolajLepka
the need for defer could be mitigated entirely via RAII semantics and just have the handle close itself when it leaves a block
Комментарий от : @NikolajLepka


@NicolaLarosa
40:21 "It all comes together in this vortex of synergy" Oh my gosh, I just can't handle this. :-D
Комментарий от : @NicolaLarosa


@jackshen1028
very like a rustified Ada,i think zig should keep borrow more from Ada like contract
Комментарий от : @jackshen1028


@vasudevram
Why most Lisps? Why not all Lisps? If most Lisps, which are not crossed out? Lisp newbie here.
Комментарий от : @vasudevram


@precumming
Tactically avoids mentioning Rust even though Rust is SO's top language of the year for many years
Комментарий от : @precumming


@germandiagogomez
I would reformulate "the simple, lazy way to write code must perform robust error handling". Robust error handling is a difficult problem. I would reformulate it as "the simple, lazy way to write code must fail safely or handle the error but never ignore it". I think this is a better way of looking at it. Imagine I want to create a piece of software, it reads from disk, does some operations and on the way to that it must read data (could fail), parse it (could be incorrect). If I need robust handling for each step, now I have a program where I have to write the code and the failure handlers, both. But I could be interested in just handling happy path (assume that if the reading fails or the parsing fails just finish the program, but without ignoring the error silently). Doing so would save time, because now I do not need to think of the error handling but I am still sure that it will fail safely. Later, if I ever need, I can add more robust error handling. This robust error handling can be as complicated as the program itself almost: ignore parse error vs no parse error, ignoring parse situation is safe vs is not safe... if the error for parsing makes the whole thing lose information or can be reconstructed from some redundant info... as you can see this is as complicated or more than writing the happy path maybe. So all in all, the important thing is that errors are not ignorable. This is a good property of exceptions, even if exceptions are not a panacea.
Комментарий от : @germandiagogomez


@germandiagogomez
I am a C++ user and sometimes I miss this simplicity like Zig. On the other side, part of that complexity is also useful. I am with an eye on Rust, D, Nim and Zig lately. But for now, I stick to C++ and C#. I like to get the job done so anything that is not viable to finish full software is discarded directly on my side.
Комментарий от : @germandiagogomez


@krystofjakubek9376
To me it seems like he is reinventing the wheel a bit. I 100% agree with the premise and the build tools part is great but many of the other problems were already solved in C++.
For compile time keyword you have constexpr, Assertions can be done at compile time, for cleanup code you have RAII and a lot more. Now with C++ 20 you can use the new import keyword to fix the #include fiesta. Dont get me wrong I do not think in no way that this is bad or worse than C++ but I am not sure if it is revolutionary enough to bring in enough people.

Комментарий от : @krystofjakubek9376


@mendelovitch
Hail Satan.
Комментарий от : @mendelovitch


@0xAA55_
This guy is literally outlining the exact reasons why Ada was created and all the problems it solves. Unfortunately he doesn't seem to know about that beautiful language.
Комментарий от : @0xAA55_


@SimGunther
0:49 Aged like milk
Комментарий от : @SimGunther


@videojeroki
Much more readable than Rust.
Комментарий от : @videojeroki


@connorm9176
C used to be my favorite language, but there were still some things I didn't like about it. Zig seems like everything I wish C was, really excited for the 1.0 release
Комментарий от : @connorm9176


@Nathankthanks
11:56 seems to work fine in C. I guess the screenshot is for a particular version of GCC? seems to undermine the point though.
Комментарий от : @Nathankthanks


@napatcharuphant3365
There's a language in development called ActorForth.
It's a Forth build on top of type system that design to be highly portable and easily reasonable since it's stack base language.

Комментарий от : @napatcharuphant3365


@PASHKULI
Please, can you name the language simply "Z" and design it a more simple logo. That is all.
Комментарий от : @PASHKULI


@zungaloca
amazing
Комментарий от : @zungaloca


@kenn850
at 5:08 what about webassembly.
Комментарий от : @kenn850


@zungaloca
really good
Комментарий от : @zungaloca


@alainterieur5004
seems way harder than C
Комментарий от : @alainterieur5004


@hikerwolfspaine8200
This reminds me a lot of Jonathan Blow's JAI language. I'll be watching both with enthusiasm.
Комментарий от : @hikerwolfspaine8200


@ukyoize
I have a sinister feeling that i will just put a lot of catch do_nothing();
Комментарий от : @ukyoize


@alainterieur5004
very amazing
Комментарий от : @alainterieur5004



Похожие на видео