JavaScript Jabber

JSJ 272: Functional Programming and ClojureScript with Eric Normand


Listen Later

JSJ 272: Functional Programming and ClojureScript with Eric NormandThis episode of JavaScript Jabber features panelists Aimee Knight and Charles Max Wood. Special guest Eric Normand is here to talk about functional programming and ClojureScript. Tune in to learn more![00:1:14] Introduction to Eric NormandEric works for purelyfunctional.tv. The main target market for his company is those people who want to transition into functional programming from their current job. He offers them support, shows them where to find jobs, and gives them the skills they need to do well.[00:02:22] Address that quicklyFunctional programming is used at big companies such as Wal-Mart, Amazon, EBay, Paypal, and banks. They all have Clojure but it is not used at the scale of Java or Ruby.
 
 So yes, people are using it and it is influencing the mainstream programming industry.[00:3:48] How do you build an application?A common question Eric gets is, “How do I structure my application?” People are used to using frameworks. Most start from an existing app. People want a process to figure out how to take a set of features and turn it into code. Most that get into functional programming have development experience. The attitude in functional programming is that they do not want a framework. Clojure needs to be more beginner friendly. His talk is a four-step process on how to turn into code.[00:05:56] Can you expand on that a little?There are four steps to the process of structuring an application.
  1. Develop a metaphor for what you are trying to do. Developing the first implementation. How would you build it if you didn’t have code?
  2. Develop the operations. What are their properties? Example: will have to sort records chronological.
  3. Develop relationships between the operations.
  4. Run tests and refactor the program. Once you have that, you can write the prototype.
[00:13:13] Why can’t you always make the code better?Rules can’t be refactored into new concepts. They have to be thrown away and started completely over. The most important step is to think before beginning to write code. It may be the hardest part of the process, but it will make the implementation easier.[00:17:20] What are your thoughts on when people take it too far and it makes the code harder to read?He personally has written many bad abstractions. Writing bad things is how you get better as a programmer. The ones that go too far are the ones that don’t have any basis or are making something new up. They are trying to be too big and use no math to back up their code.[00:20:05] Is the hammock time when you decide if you want to make something abstract or should you wait until you see patterns develop?He thinks people should think about it before, although always be making experiments that do not touch production.[00:23:33] Is there a trade off between using ClojureScript and functional JavaScript?In terms of functional programming in JavaScript don’t have some of the niceties that there are in Clojure script. Clojure Script has a large standard library. JavaScript is not as well polished for functional programming; it is a lot of work to do functional programming it and not as much support.[00:27:00:] Dave Thomas believes that the future of software is functional programming. Do you agree?Eric thinks that it seems optimistic. He doesn’t see functional programming take over the world but does think that it has a lot to teach. The main reason to learn functional programming is to have more tools in your toolbox.[00:31:40] If this is a better way to solve these problems, why aren’t people using it? There is a prejudice against functional programming. When Eric was first getting into it, people would ask why he was wasting his time. Believes that people are jaded. Functional programming feels foreign because people are used to a familiar way of programming; they usually start with a language and get comfortable.[00:40:58] If people want to get started with it, is there an easy way in? Lodash is great to start replacing for loops. It will clean up code. There are other languages that compile to JavaScript. For example, Elm is getting a lot of attention right now. It is a Haskell like syntax. If you want more of a heavyweight language, use TypeScript or PureScript. ClojureScript is into live programming. You are able to type, save, and see results of the code immediately on the screen in front of you.PicksAimee:
  • The Hidden Cost of Abstraction 
  • What Functional Language Should I Learn 
Eric
  • Steven King, On Writing 
  • Youtube Channel: Tested  
Charles
  • Ionic Framework
Links
  • Purely Functional TV 
  • Blog 
  • Building Composable Abstractions 
Special Guest: Eric Normand.

Support this podcast at — https://redcircle.com/javascript-jabber/donations

Privacy & Opt-Out: https://redcircle.com/privacy

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
...more
View all episodesView all episodes
Download on the App Store

JavaScript JabberBy Charles M Wood

  • 4.4
  • 4.4
  • 4.4
  • 4.4
  • 4.4

4.4

234 ratings


More shows like JavaScript Jabber

View all
The Twenty Minute VC (20VC): Venture Capital | Startup Funding | The Pitch by Harry Stebbings

The Twenty Minute VC (20VC): Venture Capital | Startup Funding | The Pitch

533 Listeners

Software Engineering Radio by se-radio@computer.org

Software Engineering Radio

270 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

290 Listeners

Ruby Rogues by Charles M Wood

Ruby Rogues

45 Listeners

The Freelancers' Show by Charles M Wood

The Freelancers' Show

23 Listeners

Startups For the Rest of Us by Rob Walling

Startups For the Rest of Us

703 Listeners

The a16z Show by Andreessen Horowitz

The a16z Show

1,091 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

623 Listeners

Adventures in Angular by Charles M Wood

Adventures in Angular

33 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

585 Listeners

Soft Skills Engineering by Jamison Dance and Dave Smith

Soft Skills Engineering

289 Listeners

iPhreaks by Charles M Wood

iPhreaks

17 Listeners

React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

React Native Radio

67 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

225 Listeners

Adventures in Angular by Charles M Wood

Adventures in Angular

15 Listeners

JavaScript Jabber by Charles M Wood

JavaScript Jabber

62 Listeners

Ruby Rogues by Charles M Wood

Ruby Rogues

21 Listeners

My JavaScript Story by Charles M Wood

My JavaScript Story

4 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

AWS Podcast by Amazon Web Services

AWS Podcast

205 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

524 Listeners

This Day in AI Podcast by Michael Sharkey, Chris Sharkey

This Day in AI Podcast

228 Listeners

AI + a16z by a16z

AI + a16z

36 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

63 Listeners