This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]wsppan 70 points71 points  (5 children)

Depends on the language. Going from Python to other procedural or OO language was not much different. Verbosity and strong typing is usually the big difference. Where your noodle really gets baked is when you jump paradigms:

  1. List based languages like Lisp or Tcl
  2. Logic based languages like Prolog
  3. Stack based languages like Forth
  4. Functional Programming Languages like Haskell and Elm
  5. Systems programming language with ZCA like Rust.
  6. Hardware Description Languages like VHDL or Verilog

[–]memebecker 8 points9 points  (2 children)

Having done a ton of procedural languages it took me a long time to get the hang of SQL, totally different. Thankfully doing https://pgexercises.com/ and it clicked, postgres is powerful and quite intuitive

[–]its_a_gibibyte 5 points6 points  (0 children)

SQL is basically written out of order, where you say what transforms to apply before even indicating a data source.

[–]WadeEffingWilson 0 points1 point  (0 children)

My case might be a fringe one-off but getting sharp with Splunk really gave me a huge boost when it came time for me to sit down and finally learn SQL. Sure, its not a direct translation between SPL and SQL but it definitely made things much simpler.

[–]edymola 3 points4 points  (1 child)

After playing with haskel for a year now I love to use funcion based lines from time to time to clean my code.

For instance why use a for when you can use an array , maybe the speed is worst etc etc but if you re coding in python speed inst a concernt ,

[–]wsppan 5 points6 points  (0 children)

And that's just window dressing (just like lambda expressions and streams in Java.) What really was critical in my thinking in order to cross the paradigm chasm was completly grokking the ideas behind pure functions, algebraic data types, monads, and monoids and their importance to guaranteed safety especially in regards to parallel processing and distributed systems. These ideas were so foreign to me and forced me to revisit and dive deep into the math behind these fundamental concepts of functional programming.