Skip to content

Latest commit

 

History

History
77 lines (68 loc) · 3.35 KB

4_cup-of-cs-lang.md

File metadata and controls

77 lines (68 loc) · 3.35 KB

☕✨cup-of-CS-lang✨

Easy sips of basic concepts of CS lang #tldr #eli5

Presentation here on 1/24/2021 by chococigar@

// Please PR on any info that needs correction or addition.

what we'll cover

  1. Intro: what languages we've come across, and their characteristics
    • Why are there so many languages?
  2. Key concepts of a programming language
  3. Q&A
    • Answering previously asked questions

(Discussion) Languages we've came across and their common use-cases/properties

  • Python
    • personal use: CS101, algorithms, ML, data crawling, general code
  • Java
    • personal use: Data Structures course, Android
  • Javascript
    • personal use: Most web browsers
  • C++
    • personal use: KENS,
  • C
  • Racket
  • Assembly
  • Bash
    • personal use: For automating shell commands
  • SQL
    • personal use: Databases
  • Rust
    • personal use:
  • Go
    • personal use:
  • Kotlin
    • personal use: Android app
  • Typescript
    • personal use:
  • Dart
    • personal use: For using Flutter (frontend-focused use case)
  • HTML, CSS
    • personal use: Web, though often debatable
  • Markdown
    • personal use: here

git_the_princess.jpg

5 Major components of a CS language

// as defined by Gary)

  1. How it is run
  2. Typing
  3. Object-oriented vs. Functional
  4. Garbage Collector
  5. Concurrency

Questions

  1. What is the philosophical difference between Python and Javascript? (or Python and C++?)
  2. Why does a language become trendy/popular? How did trends in Python/JS come about? What languages would be created in the future?
  3. Python is popular in ML, but wasn’t the use-case when it was initially made. Will there be a language with ML-specific use case?
  4. What are pros and cons of an intermediate language (as opposed to compiled and interpreted?)
  5. Are compilers OS-specific?
  6. What’s llvm and why do compiler geeks like it?
  7. Are Android apps JVM compatible? How does Java run in different environments?
  8. How do I build my own CS language?

References