From eab339d86966fe35fff085751e07218cd9dc50ef Mon Sep 17 00:00:00 2001 From: nils <48135649+Nilstrieb@users.noreply.github.com> Date: Thu, 21 Jul 2022 17:28:52 +0200 Subject: [PATCH] restart --- 404.md | 3 - README.md | 3 - _config.yml | 1 - a-thing-about-provenance.md | 9 --- cool-blog/ferrisclueless.png | Bin 7516 -> 0 bytes cool-blog/index.md | 8 --- cool-blog/types-rust-ts-java.md | 96 -------------------------------- index.md | 9 --- 8 files changed, 129 deletions(-) delete mode 100644 404.md delete mode 100644 README.md delete mode 100644 _config.yml delete mode 100644 a-thing-about-provenance.md delete mode 100644 cool-blog/ferrisclueless.png delete mode 100644 cool-blog/index.md delete mode 100644 cool-blog/types-rust-ts-java.md delete mode 100644 index.md diff --git a/404.md b/404.md deleted file mode 100644 index da46775..0000000 --- a/404.md +++ /dev/null @@ -1,3 +0,0 @@ -# i did not find what you asked for - -have you considered learning how to type? diff --git a/README.md b/README.md deleted file mode 100644 index ad45d8a..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# nilstrieb.github.io - -hi diff --git a/_config.yml b/_config.yml deleted file mode 100644 index c419263..0000000 --- a/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/a-thing-about-provenance.md b/a-thing-about-provenance.md deleted file mode 100644 index 298302e..0000000 --- a/a-thing-about-provenance.md +++ /dev/null @@ -1,9 +0,0 @@ -true - -ref ref ref - -ptr ptr ptr - -ptr ref ptr - -mut diff --git a/cool-blog/ferrisclueless.png b/cool-blog/ferrisclueless.png deleted file mode 100644 index f72b4e3765a2c9d1f9155582a2ef7624f0a3761c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7516 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 diff --git a/cool-blog/index.md b/cool-blog/index.md deleted file mode 100644 index 4d41a65..0000000 --- a/cool-blog/index.md +++ /dev/null @@ -1,8 +0,0 @@ -# cool blog - -yeah it's literally a really cool blog you should totally read it - -![img.png](ferrisclueless.png) - -hi -* [types](types-rust-ts-java) diff --git a/cool-blog/types-rust-ts-java.md b/cool-blog/types-rust-ts-java.md deleted file mode 100644 index 36fae38..0000000 --- a/cool-blog/types-rust-ts-java.md +++ /dev/null @@ -1,96 +0,0 @@ -# Types in Rust, Typescript and Java - -I find programming languages very interesting, but what I find even more interesting is comparing them -and seeing their similarities and differences. So let's do that! - -## Employees - -Say you want to build an employee management program. You could model the employees like this: - -```java -public class Employee { - public String name; - public int number; -} -``` - -> But using public fields in Java is bad practice? - -Go away, I don't care. - -```ts -type Employee = { - name: string; - number: number; -} -``` - -```rust -struct Employee { - pub name: String, - pub number: i32, -} -``` - -They look very similar, don't they? Sure, the syntax differs a bit and Typescript only allows floats (yikes) but they -feel like they are the same. - -Now we crate a function to print their names. - -```java -public class Employee { - public static void printName(Employee employee) { - System.out.println(employee.name); - } -} -``` - -> Why is the method static??? - -Because I decided so. - -```ts -const printName = (employee: Employee) => { - console.log(employee.name) -}; -``` - -```rust -fn print_name(employee: Employee) { - println!("{}", employee.name); -} -``` - - -Still nothing special. Time to call it! - -```java -Employee.printName(new Employee("nils", 1)); -``` - -> Assuming we have ~~written~~ auto-generated a constructor - -```ts -printName({ name: 'nils', number: 1 }) -``` - -```rust -print_name(Employee { name: "nils".to_owned(), number: 1 }) -``` - -> What are you doing with the `to_owned` on the string? - -Rust strings are complicated. - -Hmm, this is interesting. There is one big difference among the three calls: `{ name: 'nils', number: 1 }`. -The Typescript code is not saying that its creating an `Employee`, it's just creating some object. What does that mean? - -## Structural Typing - -That's because Typescript uses structural typing. To quote wikipedia: -> A structural type system is a major class of type systems in which type compatibility and -> equivalence are determined by the type's actual structure or definition and not by -> other characteristics such as its name or place of declaration. - -Structural typing means that the type checker only looks at the structure of the types to see whether they match, instead -of looking at the names (how Java and Rust do it). \ No newline at end of file diff --git a/index.md b/index.md deleted file mode 100644 index a87a8e3..0000000 --- a/index.md +++ /dev/null @@ -1,9 +0,0 @@ -## cool and fun blog - -i love how cool it is - -read [this](cool-blog) - -### Jekyll Themes - -Your Pages site will use the layout and styles from the Jekyll theme you have selected in your [repository settings](https://github.com/Nilstrieb/nilstrieb.github.io/settings/pages). The name of this theme is saved in the Jekyll `_config.yml` configuration file.