
Sign up to save your podcasts
Or


Charles Max Wood interviews Dave Thomas about the Computer Science course he's teaching at Southern Methodist University, Elixir, and the future of programming. Dave is the author and co-author of several well known programming books including Programming Ruby (also known as the PickAxe Book), Programming Elixir, and the Pragmatic Programmer. This episode starts out discussing Dave's course and Computer Science education, then veers into Elixir and the future of programming. Tune in to hear where Dave thinks the programming industry is heading next.
[00:02:30] Dave's Computer Science Course at SMU
All of the assignments are coding assignments and must be submitted with a pull request. Chuck recalls taking a class similar to the one that Dave describes.
[00:06:22] Computer Science's focus on theory
[00:09:55] This is a job where we make a difference
[00:10:23] How do you communicate all of these aspects of coding to the students?
[00:13:04] Software as a tool for change
Dave is involved in after-school programs for software development as well. The ones that succeed don't approach software head on. They do fun and fancy stuff with Raspberry Pi or put a webserver up and then point out the concepts used in the programming. This approach is the future of development training.
[00:16:01] Do you feel like CS programs aren't preparing students well? or have the wrong focus?
A 4 year program should be done after 2 years working in the real world. Most of the things not taught don't make sense until the student has the problem that it solves. For example, source control. This would give them context for the things that are important and bring the knowledge back to the
[00:20:26] What is in the curriculum?
[00:22:28] The future is functional?
Looking at Moore's Law, why aren't our processors getting faster? Over the last 10 years, they're not that much faster and the next generations are slower. But they have more cores. If you double the clock speed, you 8x the power dissipation. So, there's a limit to how fast you can go before you melt the processor. So, you run more cores at a lower speed. This vastly increases your processing power and lower your consumption.
If you're writing processes that run on a core from start to finish, then it only uses 1/16th of the processor's power (if it has 16 cores.) So, we need a programming paradigm that supports parallelism. Concurrent programming is hard.
Making data immutable makes it so you can eliminate common problems with threading and concurrency. Read-only (immutable) Object Oriented programming is effectively functional programming. We should see this change occur over the next 3-7 years.
[00:31:05] Most of the people at Ruby conferences are using Elixir
Elixir can get you there fast like Ruby, but it can also cut costs of running your server.
[00:35:43] Is a computer science degree that way to get in? or should people get in through bootcamps or self learning?
In any case, do what works for you. You don't need to do a 4 year course of study to be a successful programmer. Quite a few good programmers Dave knows never took a CS course. If you do a course, find out that if the teachers are doing or have done the kinds of things you want to do. The better IT shops also tend to recognize that it's the person, not what they know, that really matters. So go to them and ask to apprentice with their good programmers at a lower salary. Then if you're contributing, ask for a competitive salary.
[00:41:03] What do we as programmers assume about CS degrees that we need to change?
One of the best people Dave hired was an alcoholic chemistry teacher, but he could get into a project.
[00:45:00] You don't want a career.
Charles:
Dave:
By Devchat.tvCharles Max Wood interviews Dave Thomas about the Computer Science course he's teaching at Southern Methodist University, Elixir, and the future of programming. Dave is the author and co-author of several well known programming books including Programming Ruby (also known as the PickAxe Book), Programming Elixir, and the Pragmatic Programmer. This episode starts out discussing Dave's course and Computer Science education, then veers into Elixir and the future of programming. Tune in to hear where Dave thinks the programming industry is heading next.
[00:02:30] Dave's Computer Science Course at SMU
All of the assignments are coding assignments and must be submitted with a pull request. Chuck recalls taking a class similar to the one that Dave describes.
[00:06:22] Computer Science's focus on theory
[00:09:55] This is a job where we make a difference
[00:10:23] How do you communicate all of these aspects of coding to the students?
[00:13:04] Software as a tool for change
Dave is involved in after-school programs for software development as well. The ones that succeed don't approach software head on. They do fun and fancy stuff with Raspberry Pi or put a webserver up and then point out the concepts used in the programming. This approach is the future of development training.
[00:16:01] Do you feel like CS programs aren't preparing students well? or have the wrong focus?
A 4 year program should be done after 2 years working in the real world. Most of the things not taught don't make sense until the student has the problem that it solves. For example, source control. This would give them context for the things that are important and bring the knowledge back to the
[00:20:26] What is in the curriculum?
[00:22:28] The future is functional?
Looking at Moore's Law, why aren't our processors getting faster? Over the last 10 years, they're not that much faster and the next generations are slower. But they have more cores. If you double the clock speed, you 8x the power dissipation. So, there's a limit to how fast you can go before you melt the processor. So, you run more cores at a lower speed. This vastly increases your processing power and lower your consumption.
If you're writing processes that run on a core from start to finish, then it only uses 1/16th of the processor's power (if it has 16 cores.) So, we need a programming paradigm that supports parallelism. Concurrent programming is hard.
Making data immutable makes it so you can eliminate common problems with threading and concurrency. Read-only (immutable) Object Oriented programming is effectively functional programming. We should see this change occur over the next 3-7 years.
[00:31:05] Most of the people at Ruby conferences are using Elixir
Elixir can get you there fast like Ruby, but it can also cut costs of running your server.
[00:35:43] Is a computer science degree that way to get in? or should people get in through bootcamps or self learning?
In any case, do what works for you. You don't need to do a 4 year course of study to be a successful programmer. Quite a few good programmers Dave knows never took a CS course. If you do a course, find out that if the teachers are doing or have done the kinds of things you want to do. The better IT shops also tend to recognize that it's the person, not what they know, that really matters. So go to them and ask to apprentice with their good programmers at a lower salary. Then if you're contributing, ask for a competitive salary.
[00:41:03] What do we as programmers assume about CS degrees that we need to change?
One of the best people Dave hired was an alcoholic chemistry teacher, but he could get into a project.
[00:45:00] You don't want a career.
Charles:
Dave: