News for hackers. Stuff that matters.
Re:Why won’t anyone teach me math? by closeparen on Friday February 11, 2022 @01:00PM (#30304737)
Computer Science at my school had two branches, theory and systems. Discrete Math and Algorithms are just two classes out of ~17 in a major. They are the two theory classes everyone takes, but there's a whole world beyond that even in the theory track. It continues to be baffling that people on Hacker News think Algorithms == Computer Science.

Personally, when I chose electives I chose systems electives: Operating Systems, Databases, Networks, Programming Languages, Graphics, etc. In these classes the bulk of the work consisted of programming in C.

Re:Why won’t anyone teach me math? by gmadsen on Friday February 11, 2022 @01:26PM (#30305131)
programming languages is pretty theoretical. Or at least if taught from a logic and lamba calculus view point.

I suppose it could be systems if you are building a compiler or vm, but that to me is different that programming languages.

Re:Why won’t anyone teach me math? by sporkland on Friday February 11, 2022 @03:43PM (#30306754)
As with most CS stuff there's the standard split here: type theory, languages and grammars and pumping lemma on the theoretical side and recursive descent, lex/flex/yacc/bison, programming language exposure lisp, prolog, assembly, etc on the practical side. Dominance frontiers and register allocation algorithms were some of the places where they really started to intersect for me. I guess also regular languages, regular expressions and balanced parens is another place where they intersect.
Re:Why won’t anyone teach me math? by chaosite on Friday February 11, 2022 @05:29PM (#30307777)
So in my CS program, those were split into several separate courses.

You had an (mostly theoretical) Automata and Formal Languages course, which had regular/context free languages (including regexs), grammars, and pumping lemma. lex/flex/yacc/bison, recursive descent, and LL(1) LR(n), LALR were in a Compilers course. Programming Language exposure to a functional language (ML) and a logic language (Prolog) plus some other stuff was the Programming Language course.

Type Theory, lambda calculus, and so on is relegated to advanced graduate courses that are given when a faculty member feels like it.

Re:Why won’t anyone teach me math? by mcguire on Friday February 11, 2022 @04:13PM (#30307067)
You realize lisp is based on the lambda calculus and prolog is based on formal logic, right?

The theory and practical realms are very tightly intertwined in programming/computer science/whatever you want to call it as long as it isn't "information technology".

On the other hand, the portion of "math" that is applicable computer science/software development/whatever is pretty distinct from much of the "math" in math departments.

Re:Why won’t anyone teach me math? by closeparen on Friday February 11, 2022 @02:02PM (#30305617)
We wrote some programs in lambda calculus, but I mainly remember working on an ML interpreter. Type checking, exceptions, free variables, etc.
Re:Why won’t anyone teach me math? by mcguire on Friday February 11, 2022 @04:14PM (#30307078)
"Historically, ML was conceived to develop proof tactics in the LCF theorem prover (whose language, pplambda, a combination of the first-order predicate calculus and the simply-typed polymorphic lambda calculus, had ML as its metalanguage)."

-- https://en.wikipedia.org/wiki/ML_(programming_language)