Dart - First Impression [Programming Languages Episode 24]
HTML-код
- Опубликовано: 11 сен 2024
- ►Full First Look Series Playlist: • Programming Languages ...
►Find full courses on: courses.mshah.io/
►Join as Member to Support the channel: / @mikeshah
►Lesson Description: In this lesson we take a look at a second language that was created by google -- the Dart programming language! Originally developed in 2011 and version 1.0 released around 2013, the Dart language has grown from a language that was initially a JavaScript replacement, to a language that is available for web, mobile, desktop, and server platforms. This is a modern programming language, with many features for concurrency, null safety, and pattern matching. I enjoyed my tour of Dart, and I think it's a valuable language for creating both frontend and backend parts of a software stack. It may even be a good language to learn for first time programmer, as it was relatively clean. This is the first 'first impression' series where I believe I did not make a single error -- so the error messaging will have to be looked at another time :) As always, let me know what resources/tools I missed that others should know about in the comments below!
►RUclips Channel: / mikeshah
►Please like and subscribe to help the channel!
►Join our free community: courses.mshah....
Hi mike, thanks for this series. This is for programming language freeks like you and I and many others like us. I have a few recommendations for upcoming videos regarding the series: Haskell, Elixir and F# (especially with pure functional programming oriented mindset).
In the meantime, Mike covered these Functional languages (so far):
Elm
Erlang
Closure
And he covered OCaml which is very similar to F# since it was originally conceived as an OCaml extension for the .NET platform.
Elixir and Gleam are two interesting newer languages that ride on the BEAM like the OG , Erlang. The distinction being that Gleam is a statically-typed language vs Elixir and Erlang being dynamically-typed languages. Gleam was written in Rust and you can see some of the Rust influence like its awesome package manager. But Gleam has adopted some OCaml/F# syntax such as the float operators (10.0 /. 3.0).
@@GaryChike Cheers both for the recommendations! @Wannabelokesh, you may observe one of those languages very soon! :)
I'm not 100% sure if I'll cover F# since OCaml has been done, but it might be interesting. Same story with Erlang and Elixir, though I think it might be interesting to try again (Erlang was one of the more challenging languages!)
F# yes please
@@bsdooby Might consider it -- noted! It would be interesting after many years to give it another try :)
Dart is one of the few newer languages that did not go with the Pascal style type annotation `var num1: Integer;` that you now see in almost all the newer languages.
It's interesting to see the switch now to the pascal style type annotation -- I prefer it, though my brain remains hardwired to think in C++ still 😅
Interesting observation
@@MikeShah I hear ya'. My first programming language in college was C++ in 1995, but we used it as if it were C - I'm probably dating myself.
@@GaryChike hehe, yeah we used a sort of made up 'C++' variant in my college years, so not even a chance to use it like C 😂
@@MikeShah😂
180!! have just been watching Darts 🤣
Nice. Would be interesting to see the Raku Programming Language.
He touched on Raku a bit when Mike reviewed Perl I like Raku a lot - a very well thought out language.
@@GaryChike Cheers! Yeah, Raku seems to be one of the more popular requests here :)
dart is pretty much married to flutter at this point. there is really no reason to use it outside of that environment.
it is a nice language though. i do like the syntax and the fact that it can support pretty much every platform and every screen size/orientation, it can compile to c++
however, it suffers from the same thing every language that tries to be everything suffers from: it's atrociously slow.
if you need to make UI apps, and maybe 2D casual games, flutter/dart is a nice framework to use.
Interesting -- I suppose it makes sense to just go all-in and marry Flutter to Dart to make it the best experience possible (similar to how for example Swift has a whole Apple ecosystem). Didn't know about the compilation to C++ -- that's pretty neat, and nice to hear for the portability story of Dart.
@@MikeShah it is nice. their backend compiles to c++ for windows/linux native, swift for ios/macos native, javascript or wasm for web, java for android.
and flutter has a nice widget set (everything is a widget). dart with hot reload makes it a joy to use. it's my favorite stack for kicking off quick apps. easy setup with vs code/emulators.
you won't be writing AAA games with it...but the flutter team are working on game engine frameworks to use with it and some big name mobile developers are using them.
@@androth1502 Very cool -- thanks for adding those important details! Will definitely keep an eye out for which devs are using it. Usually get to see quite a few mobile games at conferences, so will do a little digging, especially for mobile games to see if they used Dart :)
Did you do some benchmarks w.r.t. Dart’s “slowness”? IMHO it would be an awesome language for beginners in
Computer Graphics and Games…
@@bsdooby yes. you can also find benchmarks online. dart is a magnitude slower than C, but faster than python.
as long as you're not making high performance game engines or AAA games, or operating systems, etc. it's fast enough for most things.
people use python for games and that language is ridiculously slow.
there is a raylib package for dart, that is a great place to start.
Wow! dart looks nice. Can Dart produce an exe file?
Yes, I it supports native compilation(Ahead of time compliation -- AoT) targets on multiple platforms beyond even windows. There's also JIT and web targets, so it supports quite a bit of platforms. Someone mentioned in the comments here it can even compile to C++ :)