In this video we are going to write a tiny program, which highlights all the typical building blocks of most programming languages out there. Then we will see how the same program can be written in several other languages, so that you can see for yourself that even though on the first glance they appear to be different if you look deeper you will see that they might not be so different after all.
The code is available here:
https://github.com/DevInsideYou/MyFirstProgramEver
Uncle Bob's blog article "Three Paradigms" is here:
https://8thlight.com/blog/uncle-bob/2012/12/19/Three-Paradigms.html
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
Github: https://github.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#tutorial
...
https://www.youtube.com/watch?v=XrTHpw6Nlm0
In the previous few videos we started exploring the object-oriented world, but maybe we should not swim too far. In this video we discuss issues that arise from programming language dependent interpretations of object-orientation. This is the first of two videos in this series, which concentrates on issues with comparing two computational objects for equality and provides an outlook to the future of Scala.
The Artima SuperSafe Scala compiler plugin is here:
https://www.artima.com/supersafe_user_guide.html
More information about the Multiversal Equality in Dotty/Scala v3 is here:
http://dotty.epfl.ch/docs/reference/multiversal-equality.html
A possible future:
https://contributors.scala-lang.org/t/pre-sip-parametric-top/1177/34
Rules for extending AnyVal are here:
http://docs.scala-lang.org/overviews/core/value-classes.html
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
Github: https://github.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#Object #DataStructure #tutorial
...
https://www.youtube.com/watch?v=Tclx0q4TEpI
This video lists all kinds of Git features, tools and tricks that did not fit into any of the other videos.
My .dotfiles:
https://github.com/agilesteel/.dotfiles/blob/master/stow/git/.gitconfig
https://github.com/agilesteel/.dotfiles/blob/master/stow/bash/.bash_aliases
The Refined GitHub browser extension:
https://github.com/sindresorhus/refined-github
This video is part of the following playlist:
https://www.youtube.com/playlist?list=PLJGDHERh23x9DbNtd7AoGlvuuejBuxrPZ
Table of Contents:
00:00 intro
00:40 git init --bare
02:35 transfer protocols
04:43 git show
07:10 author vs commit
08:46 forking
12:02 git request-pull
13:44 issue vs pull request (PR)
15:00 git log
19:26 search: git grep
25:11 search: temporal
27:34 search: Git pickaxe
28:06 search: line search
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Telegram: https://telegram.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
GitHub: https://github.devinsideyou.com
LBRY: https://lbry.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#SCM #VCS
...
https://www.youtube.com/watch?v=qZS1RCNEoO4
In this video we will learn about Giter8 aka g8 which is a command line tool that generates files and directories from templates published on GitHub or any other git repository.
Giter8's website:
http://www.foundweekends.org/giter8
Giter8 templates from the wiki:
https://github.com/foundweekends/giter8/wiki/giter8-templates
Giter8 templates from the Github search:
https://github.com/search?l=Scala&o=desc&q=.g8&s=updated&type=Repositories
Create your own templates with:
sbt new foundweekends/giter8.g8
Testing SBT plugins with the scripted plugin:
https://www.scala-sbt.org/1.x/docs/Testing-sbt-plugins.html
This video is part of the following playlists:
https://www.youtube.com/playlist?list=PLJGDHERh23x-ubG8Kk8cA0tgmy7dfDzqp
https://www.youtube.com/playlist?list=PLJGDHERh23x9DbNtd7AoGlvuuejBuxrPZ
Table of Contents
00:34 Using Giter8
14:36 Creating Giter8 Scaffolds
23:07 Creating Giter8 Template Fields
34:26 Creating Giter8 Templates
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
Github: https://github.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#g8 #tutorial
...
https://www.youtube.com/watch?v=NnIwX_IKH4o
Learn Scala in one video from a 10+ years Scala veteran.
Stack Overflow Developer Survey 2020:
https://insights.stackoverflow.com/survey/2020#technology-what-languages-are-associated-with-the-highest-salaries-worldwide-global
Setup your Scala dev environment with coursier:
https://www.youtube.com/watch?v=o9H2EQO3fVs
Table of Contents:
00:00:00 Intro
00:02:55 Slides - Why learn Scala?
00:08:40 Slides - Why learn Scala now?
00:10:12 Slides - What is Scala?
00:15:28 Environment setup
00:33:42 Tour
00:40:12 Comments/Javadoc/Scaladoc (crash course starts here)
00:42:56 Keywords: val, var, def, lazy val
00:49:22 Top level definitions
00:52:23 The Uniform Access Principle
00:55:28 Types
01:04:45 Keyword: type
01:05:50 Literals and String interpolation
01:15:42 If expressions and the type hiearchy
01:23:36 Boolean opeartions and equality
01:26:32 Loops and tail recursion
01:30:41 Higher order functions and lambdas aka anonymous functions aka arrow functions
01:39:41 Pattern matching and partial functions
01:49:46 Exceptions
01:51:55 Collections and imports
02:14:36 For Comprehensions
02:21:07 Factorial (just another tail recursive example)
02:23:48 Adding/removing elements to collections and right-associative operators
02:31:08 Methods with variable argument lists aka Varargs
02:32:38 Function currying and OO classes
02:40:28 OO objects and properties
02:45:21 OO traits, inheritance and subtype polymorphism
02:46:48 Self types
02:48:28 Objects (classes) expose methods and hide data
02:52:28 Data structures (case classes) expose data and hide methods
02:58:42 Algebraic Data Types aka ADTs
03:13:00 Implicits
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Telegram: https://telegram.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
GitHub: https://github.devinsideyou.com
LBRY: https://lbry.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#tutorial #programming
In this video we will see how to setup completions for any CLI tool, how to keep them up to date and how completions work in general in zsh.
My .dotfiles:
https://github.com/agilesteel/.dotfiles/blob/master/stow/zsh/.zshrc
Start here if you want/need to write your own completions:
https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org
Official completions system docs:
http://zsh.sourceforge.net/Doc/Release/Completion-System.html#Completion-System
The zsh-autocomplete plugin:
https://github.com/marlonrichert/zsh-autocomplete
The zsh-autosuggestions plugin:
https://github.com/zsh-users/zsh-autosuggestions
fzf - a general-purpose command-line fuzzy finder:
https://github.com/junegunn/fzf
This video is part of the following playlists:
https://www.youtube.com/playlist?list=PLJGDHERh23x-bjBiPCyqUuaEuj-FmOMHk
https://www.youtube.com/playlist?list=PLJGDHERh23x9DbNtd7AoGlvuuejBuxrPZ
Table of Contents
00:00 intro
00:56 what are completions?
01:33 tour
03:08 fpath and the rest of the zsh completion system
07:49 plugins
09:44 generating completions
12:06 writing completions by hand
12:55 writing completions for your own tools
13:42 zsh-autocomplete
16:27 zsh-autosuggestions
17:39 fzf
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
Github: https://github.devinsideyou.com
LBRY: https://lbry.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
...
https://www.youtube.com/watch?v=BHxaUP0kz9w