Take Up Code
Take Up Code is a podcast that explains computer programming topics through fun and engaging examples that you can relate to. The guided format allows you to gain valuable understanding of topics that will reinforce your studies, allow you to train new skills that you can apply on your job, and change your thinking about what it takes to become a professional programmer. The episodes are as short as possible so you can squeeze them into your daily routine.
Technology 303 rész Learn hard-core computer programming with fun episodes that you can relate to.
261: CppCon: Interview With Conor Hoekstra About C++ Algorithms And Ranges.
11 perc
303. rész
This is an interview with Conor Hoekstra about C++ algorithms and ranges. Conor presented my favorite talk at CppCon 2019 called Algorithm Intuition. I asked him to talk about algorithms on this podcast and he agreed. This just proves again why CppCon is the best place to be when you want to improve your C++ […]
260: CppCon: Interview With Josh Lospinoso About The Book C++ Crash Course.
11 perc
302. rész
Josh Lospinoso discusses his new book C++ Crash Course. This is a book with a focus on C++17 written with a desire to simplify and make it easy for you to learn C++. I got this book during the CppCon conference and have to say, this is a fun book. It’s got lots of examples, […]
259: CppCon: Interview With Asad Naweed About Augmented Reality.
13 perc
301. rész
This is an interview with Asad Naweed about augmented reality. I met Asad at CppCon in 2019 when he asked some questions at one of the presentations I also attended. We started talking at first about teaching coding. He has taught others how to code through education programs at Google. I especially liked his business […]
258: CppCon: Interview With Nicolai Josuttis About How The C++ Standardization Has Changed Over The Years.
13 perc
300. rész
This is an interview with Nicolai Josuttis about how the C++ standardization process has changed over the years. You can find more information about Nicolai at his website http://www.josuttis.com I first came to know about Nicolai through his book “The C++ Standard Library – A Tutorial and Reference” and recently started reading his new book […]
257: CppCon: Interview With Sean Hale About Becoming A Software Developer Without A Degree In Computer Science.
15 perc
299. rész
This is an interview with Sean Hale about how he got into computers and then turned a degree in literature into a job as a software development engineer. I met Sean at CppCon in 2019 and asked him to be on the podcast because of his experience. You can become a software development engineer without […]
256: What Is Hurting Your Effort To Learn Coding? How To Improve Your Learning With One Simple Trick I Discovered By Accident.
5 perc
298. rész
Is there something you can do that will help you learn coding? When learning something new, it helps to focus on associations, especially opposites. It’s hard to learn separate facts and ideas. Linking them together lets them reinforce each other. Instead of being more work, they will lend support. This will improve your memory too. […]
255: How To Avoid Small Choices And Design Your Application To Scale Big.
6 perc
297. rész
How do you design your application so it scales well to a big size? Scaling needs to be verified early in the design to prevent costly mistakes that usually appear later. You can scale in many ways. The number of users, amount of data, and code size are common. Avoid hard limits in the code […]
254: GameDev: How To Use Noise To Procedurally Generate Maps And Landscape.
11 perc
296. rész
How do you create unique and random game worlds and maps? Unique and random game maps and worlds can be created procedurally in code using noise. The noise is good for simulating nature because it produces values that change randomly in small amounts with no abrupt changes and provides realistic curves to rivers or hills. […]
253: Creative Ways To Use C++ Curly Braces Beyond Just Functions And Loops.
6 perc
295. rész
This episode will explain how you can use curly braces in C++ to create a new scope. You can use this ability to control name visibility and reduce name conflicts. And you can also use curly braces to control exactly when object constructors and destructors are run. This is possible because C++ has very specific […]
252: How To Handle Frustration When Learning To Code.
5 perc
294. rész
What’s the best way to handle frustration when learning to code? Knowing that all developers face frustration at times is a big help. You’re not alone. And it doesn’t mean that coding is not for you. Treat it as a learning opportunity and stick with it until you solve the problem. Keep trying ideas until […]
251: What Happens When Code Has Undefined Behavior?
7 perc
293. rész
What happens when code has undefined behavior? There’s hundreds of ways code can have undefined behavior. What happens is completely up to the compiler. You should not depend on undefined behavior because compilers can completely change or delete sections of code. Since the behavior is undefined, then compilers can optimize code in ways you never […]
250: GameDev: Design Patterns: Entity Component System.
7 perc
292. rész
This design pattern will help you make sense of your game design as it gets bigger.
249: GameDev: Floating Point: Zero, Infinity, NaN.
6 perc
291. rész
There are some special floating point values that you should be aware of. Zero, infinity, and not a number are three cases that might surprise you.
248: GameDev: Special Offer: Free Advanced Game Building Bonus.
9 perc
290. rész
Looking for more advanced training to help you better understand how to actually build something in C++? Want to go beyond example snippets that do not really teach you anything? How about being able to ask questions or get feedback on a suggestion?
247: GameDev: 1.1 Plus 2.2 Is Not 3.3. What?
9 perc
289. rész
Be careful with floating point numbers when building games.
246: GameDev: Points Vs. Vectors. Which Should You Use?
8 perc
288. rész
Do you know the differences between points and vectors? You might be surprised. I learned a few things myself recently when I implemented points and vectors in the TUCUT library.
245: GameDev: Points, Lines, Planes, Dimensions, and Normals.
11 perc
287. rész
You do not need a lot of math to program. What you do need is usually simple. But you do need some. It is not that hard and I will explain it so you can understand. Game development probably needs a bit more math than you might guess.
244: CppCon: What Did I Learn? And What Will Help You?
8 perc
286. rész
I just got back from CppCon 2018 in Bellevue Washington. And since this is a podcast where I teach you how to program, I thought I would share something that I learned at the conference.
243: How To Install Linux, GCC, GDB, Git, CMake, LLVM, Clang, Boost, SFML, CodeLite, Sublime Text 3, And Dropbox On a $140 Lenovo ideapad 120S.
11 perc
285. rész
Installing Linux, GCC, GDB, Git, CMake, LLVM, Clang, Boost, SFML, CodeLite, Sublime Text 3, And Dropbox On a $140 Lenovo ideapad 120S makes an ultra portable C++ programming laptop.
242: In The End, It’s You Vs. You.
5 perc
284. rész
In the end, it is you vs. you. Is this about living or dying?
241: How To Use Raw Pointers Properly And Still Avoid Crashes.
12 perc
283. rész
Some people say that raw pointers are evil and should be avoided. Raw pointers are useful when used properly. This episode explains how to use raw pointers along with smart pointers and is taken from a recent game development session.
240: Video Game Update: Introducing The TUCUT Library.
9 perc
282. rész
You can join an actual game development session almost every Saturday. This schedule might change in the future. But until then, you can find me working on a video game almost every Saturday.
239: What 20 Percent Of Topics Should You Focus On?
6 perc
281. rész
There is a lot you can learn about programming. But do you need to know it all?
238: Filesystem: Recent WordPress Attack Lets Editors Take Over.
9 perc
280. rész
This is a real example of how the filesystem can be used to take over a Wordpress website.
237: Filesystem: How To Avoid Security Vulnerabilities. Part 3.
9 perc
279. rész
Avoid being predictable. This advice applies to almost everything you do as a programmer. This episode will focus on the filesystem and how being predictable can make it much easier for an attacker to gain control.
236: Filesystem: How To Avoid Security Vulnerabilities. Part 2.
8 perc
278. rész
Run your program with the least permissions possible.
235: Filesystem: How To Avoid Security Vulnerabilities. Part 1.
9 perc
277. rész
When it comes to security, it is better to learn from examples.
234: Filesystem: Journaling Keeps Your Filesystem Intact.
8 perc
276. rész
Journaling records extra information in case there are problems.
233: Schedule Changes To Support Take Up Code.
5 perc
275. rész
The Take Up Code podcast needs your support.
232: Filesystem: Linking Explained: Symbolic, Soft, Hard, Junction.
12 perc
274. rész
Filesystems allow you to refer to refer to your content with different names.
231: Filesystem: Metadata Holds More Information.
10 perc
273. rész
Metadata provides information about your files.
230: Filesystem: What Can They Do? Part 4.
14 perc
272. rész
There is a special type of filesystem used to swap memory.
229: Filesystem: What Can They Do? Part 3.
13 perc
271. rész
Access control lists provide more security options.
228: Filesystem: What Can They Do? Part 2.
9 perc
270. rész
Security is a big part of filesystems.
227: Filesystem: What Can They Do? Part 1.
14 perc
269. rész
There are many different types of filesystems with different capabilities. Once you understand these capabilities, you’ll not only be able to select the proper filesystem for your needs but will understand, for example, how your computer knows when you download applications from the internet so it can warn you when you try to run them. […]
226: Filesystem: CHS vs. LBA Modes.
12 perc
268. rész
Cylinder, Head, Sector or CHS vs. Logical Block Addressing or LBA give you two ways to find data on a disk.
225: Filesystem: Partitions Allow You To Divide Your Disks.
8 perc
267. rész
Dividing your disks into partitions allows you to use each partition for separate tasks.
224: Filesystem: Drive Letters, Mounting, And Paths. Part 2.
9 perc
266. rész
How are filesystem organized with multiple drives?
223: Filesystem: Drive Letters, Mounting, And Paths. Part 1.
10 perc
265. rész
How are filesystem organized with multiple drives?
222: Filesystem: Why Should You Learn To Use It?
10 perc
264. rész
Understanding how to use the filesystem will allow you to add common and expected features to your apps.
221: Be Careful Of Changes In Code Abstraction.
6 perc
263. rész
The code you write should follow a similar level of detail.
220: One Of These Things Is Not Like The Others.
6 perc
262. rész
Finding differences will help you make sense of your code.
219: C++ RAII Sounds Complicated But Simplifies Your Code.
8 perc
261. rész
Resource allocation is initialization or RAII for short may be hard to pronounce but will help you write better and simpler code.
218: C++ Used To Program Video Games.
8 perc
260. rész
Why is C++ such a good choice for writing games?
217: How To Start Building a Video Game. Part 7.
7 perc
259. rész
Work on the toughest problems first. And if you cannot solve them, then find a way around.
216: How To Start Building a Video Game. Part 6.
10 perc
258. rész
How is a video game different than any other application?
215: How To Start Building a Video Game. Part 5.
6 perc
257. rész
We all want to think big. But to get there, we need to think small.
214: How To Start Building a Video Game. Part 4.
8 perc
256. rész
You can take advantage of libraries and frameworks.
213: How To Start Building a Video Game. Part 3.
9 perc
255. rész
What role will data play in your game?
212: How To Start Building a Video Game. Part 2.
10 perc
254. rész
How do you make your idea more specific?
211: How To Start Building a Video Game. Part 1.
11 perc
253. rész
You have a vague idea for a new video game. Where do you begin?
210: Shiny Projects And Distractions.
10 perc
252. rész
When is it okay to switch to a different project?
209: CSS: Cascading Style Sheets Tutorial. Part 2.
11 perc
251. rész
Cascading Style Sheets let you manage how your HTML looks so you can keep your HTML focused on the content.
208: CSS: Cascading Style Sheets Tutorial. Part 1.
8 perc
250. rész
Cascading Style Sheets let you manage how your HTML looks so you can keep your HTML focused on the content.
207: Trees: AST: Abstract Syntax Tree. A Simple Example.
16 perc
249. rész
An abstract syntax tree can help your code make sense of what a user provides.
206: Collections: Stack.
6 perc
248. rész
You can use a stack when you need to remember something and only ever need the last thing.
205: Trees: What Can You Do With Them?
14 perc
247. rész
What other things can trees help you to solve?
204: This Is Terrible, You Gotta Start Anyway.
10 perc
246. rész
Have you ever created something and then thought about how bad it was? What did you do?
203: Trees: Why Use Them?
8 perc
245. rész
Why should you consider using trees?
202: Graphs vs. Trees vs. Hierarchies: Compared.
12 perc
244. rész
Before exploring HTML and CSS further, you are going to need to understand graphs, trees, and hierarchies.
201: HTML: Caching Generated Output For Speed.
10 perc
243. rész
Now that you can generate HTML, why would you ever want to go back to the old way of unchanging HTML?
200: HTML: Can Be Generated By A Web Server.
7 perc
242. rész
A modern website is more than just a collection of some HTML pages.
199: HTML: How To: Simple Formatting.
9 perc
241. rész
You will learn how to use HTML to format your text into headings, paragraphs, and lists in this episode.
198: HTML: Semantic Meaning.
6 perc
240. rész
Does markup have any specific meaning that can be understood?
197: HTML: The Bigger Picture.
8 perc
239. rész
You need to know more than how HTML tags work. There is a structure that HTML documents should follow.
196: HTML: How Does Markup Work?
12 perc
238. rész
How does HTML markup enable you to create web pages?
195: HTML: Is This Programming?
8 perc
237. rész
You can use HTML to present information or build web pages. But it is not programming.
194: How Can You Tell Good Teachers From Fake?
7 perc
236. rész
What criteria do you use to determine if somebody is faking their skills as a teacher?
193: Kids Either Leave or Go to Jail.
6 perc
235. rész
My dad recently said that he noticed a lot more police activity recently. He lives in a small rural town and told me that kids now days either leave or go to jail.
192: Developer Bootcamps and Coding Schools: Doomed or Thriving?
13 perc
234. rész
Where is the best place for you to get the skills you need to get a high-tech job, to advance your career, or to just satisfy your desire to improve?
191: Git: Keep Track Of Your Files As They Change. Part 6.
8 perc
233. rész
Programming involves change and managing that change is the only way to make sense of it. You will learn about the staging area in this episode and how that affects your commits.
190: Git: Keep Track Of Your Files As They Change. Part 5.
11 perc
232. rész
Programming involves change and managing that change is the only way to make sense of it. You will learn about submodules in this episode and how that enables you to reference code from other repositories.
189: Git: Keep Track Of Your Files As They Change. Part 4.
8 perc
231. rész
Programming involves change and managing that change is the only way to make sense of it. You will learn about distributed repositories in this episode and how that enables you to work differently.
188: Git: Keep Track Of Your Files As They Change. Part 3.
16 perc
230. rész
Programming involves change and managing that change is the only way to make sense of it. You will learn about branching and what it means to commit your changes in this episode.
187: Git: Keep Track Of Your Files As They Change. Part 2.
9 perc
229. rész
Programming involves change and managing that change is the only way to make sense of it.
186: Git: Keep Track Of Your Files As They Change. Part 1.
11 perc
228. rész
Programming involves change and managing that change is the only way to make sense of it.
185: Working Remotely: No More Trading Schedules.
10 perc
227. rész
Hey, I need to wait around for a package to be delivered next Friday. Can you cover for me if I take your shift on Saturday?
184: Basic Electronics: Transistors Can Act Like Switches.
10 perc
226. rész
We normally think of something as either a conductor of electricity or an insulator.
183: Digital Electronics: Microcontrollers Ready To Use.
7 perc
225. rész
Unlike microprocessors, microcontrollers can be used all by themselves.
182: Digital Electronics: Microprocessor Speed And Clocks.
7 perc
224. rész
What are microprocessors and how have they changed?
181: Basic Electronics: Voltage Dividers.
4 perc
223. rész
You can use resistors to divide voltage.
180: Basic Electronics: Series And Parallel.
7 perc
222. rész
Have you ever wondered why batteries sometimes need to be inserted in alternating directions?
179: Basic Electronics: Capacitance.
8 perc
221. rész
Do you know how your touch screen works?
178: Basic Electronics: Magnetic Fields And Current.
7 perc
220. rész
Moving charge produces a magnetic field and a moving magnetic field produces current.
177: Basic Electronics: AC/DC: Alternating Vs. Direct Current
6 perc
219. rész
Do you know where the nearest power plant is?
176: Basic Electronics: Voltage, Current, Resistance.
11 perc
218. rész
Knowing some basic electronics helps you become a better programmer.
175: Multiplexing: Many Over One.
6 perc
217. rész
How do you send multiple messages across a single channel?
174: Error Correction: Hamming Distance And Codes.
8 perc
216. rész
How do you correct errors once you identify them?
173: HMAC: Keyed Hashed Message Authentication Code.
9 perc
215. rész
How do you stop an attacker from just changing a hash?
172: Hashes Offer The Best Error Detection.
9 perc
214. rész
If you receive some information, how do you know if it is intact or has been changed?
171: Checksums Offer Better Error Detection.
12 perc
213. rész
If you receive some information, how do you know if it is intact or has been changed?
170: Parity: Simple And Fast Error Detection.
9 perc
212. rész
If you receive some information, how do you know if it is intact or has been changed?
169: Your Guide To Computer Programming. Part 4 of 4.
8 perc
211. rész
Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?
168: Your Guide To Computer Programming. Part 3 of 4.
9 perc
210. rész
Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?
167: Your Guide To Computer Programming. Part 2 of 4.
10 perc
209. rész
Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?
166: Your Guide To Computer Programming. Part 1 of 4.
9 perc
208. rész
Why should you learn how to program? What is programming? What specific steps can you take? How can you apply programming?
165: Sockets And Ports: The Hidden Pieces.
11 perc
207. rész
How does one application communicate with another application?
164: SCTP vs. TCP vs. UDP
8 perc
206. rész
You will learn more about the strengths of the SCTP, TCP, and UDP protocols by comparing them.
163: SCTP: Stream Control Transmission Protocol.
8 perc
205. rész
SCTP is another protocol like TCP and UDP with aspects of both.
162: OSI Model: Seven Layers of Communication.
5 perc
204. rész
The OSI model will help you understand how computers communicate.
161: MAC: Media Access Control Address.
9 perc
203. rész
A MAC address is a physical address unique to your computer.
160: UDP: User Datagram Protocol.
6 perc
202. rész
Sometimes speed and simplicity are more important than reliability.
159: TCP: Transmission Control Protocol.
8 perc
201. rész
Knowing where to send information through IP is not enough. You have to know how to reliably send information too.
158: IP: Internet Protocol Addresses.
9 perc
200. rész
Any computer or device that wants to communicate with the Internet Protocol needs an IP address to uniquely identify the device.
157: DNS: Domain Name System.
9 perc
199. rész
Why do we need a system for managing domain names?
156: URLs, URNs, URCs, Data URIs, and URIs.
12 perc
198. rész
It is almost a tongue twister to say them all. Do you know what they all mean?
155: HTML vs. HTTP: How Do They Compare?
7 perc
197. rész
There is more than just two letters difference. In fact, you can not really compare them at all. But you can use them together.
154: Data: JSON JavaScript Object Notation.
5 perc
196. rész
Like XML, JSON is also a way to represent data that is readable by both humans and computers.
153: Data: XML Extensible Markup Language.
8 perc
195. rész
XML was designed to solve two main purposes. To allow information to be stored and transported and to allow both humans and computers to read and modify the information.
152: Distributed Computing: APIs Have Changed.
9 perc
194. rész
You might be more familiar with APIs than SOA but they had another meaning not very long ago.
151: The More You Learn.
7 perc
193. rész
As you learn more about something, a strange thing happens. It becomes obvious how much more there is to still be learned.
150: Distributed Computing: SOA
6 perc
192. rész
Service Oriented Architecture or SOA for short can mean different things. At the core, is the ability to send a message over a network to an isolated destination for a specific business purpose.
149: Step By Step Perfection.
10 perc
191. rész
Knowing where to spend your time and focus will help you finish projects without getting stuck in details.
148: CAP Theorem: Choose Two, Or Is It One?
8 perc
190. rész
Consistency, Availability, and Partition Tolerance are three aspects of distributed computing. And a fourth not included in the theorem is Latency.
147: Distributed Computing: Ready? Yes. Done.
8 perc
189. rész
Two-phase and three-phase commits will help you design solutions that need to work across multiple computers.
146: Distributed Computing: It Happened When?
10 perc
188. rész
Computers rely on clocks. They coordinate everything. But the clocks on different computers can be slightly off from each other.
QA Friday 2016-Aug-26
7 perc
187. rész
What can you do to improve your concentration?
145: Distributed Computing: Four Reasons.
11 perc
186. rész
Dividing work between multiple computers is sometimes the best way to solve a problem.
QA Friday 2016-Aug-19
6 perc
185. rész
How do you concentrate?
144: Data Types: C++ nullptr Is Not Zero.
8 perc
184. rész
nullptr represents a null pointer and while it has a value of zero, the type is not the same.
QA Friday 2016-Aug-12
7 perc
183. rész
When should I create a new class?
143: Where And How To Use Whitespace.
9 perc
182. rész
Making code more readable sometimes means knowing where to put nothing.
QA Friday 2016-Aug-05
8 perc
181. rész
Regulations say that you can only have one floor mat.
142: Comments. Focus On Why.
9 perc
180. rész
Comments are important but do not forget that your code should also be self-commenting.
QA Friday 2016-Jul-29
9 perc
179. rész
Where are your certifications? Do you have a degree?
141: Reference Counting. Still In Use!
13 perc
178. rész
Can this object be thrown away yet? Keeping track of how many places are still using an object is one way to answer this question.
QA Friday 2016-Jul-22
9 perc
177. rész
What is your biggest weakness? Things around us change and we each grow and change too.
140: Name Mangling and Overloaded Methods.
9 perc
176. rész
You normally do not have to worry about name mangling. But you should know what it is.
QA Friday 2016-Jul-15
7 perc
175. rész
What is your biggest weakness? In real life, problems often require more than one person. Nobody can be an expert in everything. We have to each focus on what we do best and that means we need weaknesses.
139: Data Types: C++ Decltype. Declared Types.
9 perc
174. rész
Sometimes you need to declare a type to be the same as something else.
QA Friday 2016-Jul-08
6 perc
173. rész
How our education system ignores problem solving. I do not really have a question this week so this is a great opportunity for me to talk about education.
138: Data Types: Lvalues And Rvalues.
10 perc
172. rész
You will sometimes come across lvalues and rvalues maybe when trying to understand compiler error messages or when reading docs. A basic understanding will go a long way to making sense of them.
137: Data Types: Auto or Var. The Compiler Chooses.
9 perc
171. rész
Auto and var types do have a type. The compiler will figure out what that is.
136: Data Types: Variant. Pick One.
7 perc
170. rész
The variant type can take on one of many different types and can even change the type. It is still a variant so it is more accurate to say that it can hold another type.
135: Data Types: GUIDs Globally Unique Identifiers.
9 perc
169. rész
When you want to identify class instances or data records, you cannot use things like passports. Yet it is just as important to keep track of object identities as it is for people.
QA Friday 2016-Jul-01
9 perc
168. rész
I always feel pressure and embarrassment when doing code reviews. What should I do?
134: Data Types: C++ Function Binders.
8 perc
167. rész
Binders make up part of functional composition that allows you to adapt functions and combine them into new functions.
133: Data Types: Regular Expressions.
10 perc
166. rész
A regular expression or regex lets you perform the advanced text operations matching, searching, tokenizing, and replacing.
132: Data Types: Lambdas.
11 perc
165. rész
Lambdas are a recent addition to C++ and are also included in other languages. Think of them like unnamed methods but with some extra concepts that you need to know. Or if not, you will be even more lost than with function pointers.
131: Data Types: Function Pointers Part 2.
13 perc
164. rész
You may not always need to work with this data type but that does not mean you can ignore it. If you do not at least know the basics, then you will get lost in code that uses function pointers.
QA Friday 2016-Jun-24
9 perc
163. rész
What is data binding?
130: Data Types: Function Pointers Part 1.
8 perc
162. rész
You may not always need to work with this data type but that does not mean you can ignore it. If you do not at least know the basics, then you will get lost in code that uses function pointers.
129: Data Types: Function Objects Part 2.
10 perc
161. rész
Function objects are simple but do not let that fool you. You can use them in clever solutions.
128: Data Types: Function Objects Part 1.
8 perc
160. rész
Function objects are simple but do not let that fool you. You can use them in clever solutions.
127: Data Types: Smart Pointers Part 2.
12 perc
159. rész
The C++ language guarantees that destructors run at specific times even if an exception is thrown. You can use this to make sure that other cleanup work gets done. That is what smart pointers do.
QA Friday 2016-Jun-17
6 perc
158. rész
What is runtime binding?
126: Data Types: Smart Pointers Part 1.
8 perc
157. rész
The C++ language guarantees that destructors run at specific times even if an exception is thrown. You can use this to make sure that other cleanup work gets done. That is what smart pointers do.
125: Data Types: Streams Part 2.
9 perc
156. rész
Streams provide a way to read and write potentially unlimited information and working with them is very different than data types representing a single variable.
124: Data Types: Streams Part 1.
9 perc
155. rész
Streams provide a way to read and write potentially unlimited information and working with them is very different than data types representing a single variable.
123: Data Types: Tuples.
9 perc
154. rész
Sometimes you need to bundle things together so you can treat them as a single unit. That is what the tuple provides.
QA Friday 2016-Jun-10
7 perc
153. rész
When should I use a reference and when should I use a pointer?
122: Data Types: DateTimes Part 5 C++.
11 perc
152. rész
DateTimes in C++ require quite a bit of a learning curve. They are still evolving and nowhere near to being full-featured or friendly to use.
121: Data Types: DateTimes Part 4.
11 perc
151. rész
Dates and times are a lot more complicated than we normally realize. This episodes explains durations.
120: Data Types: DateTimes Part 3 C#.
10 perc
150. rész
So you think you know how to use the DateTime struct in C#? You might be surprised.
119: Data Types: DateTimes Part 2.
17 perc
149. rész
Dates and times are a lot more complicated than we normally realize. Having a specific data type to manage all the details is crucial.
QA Friday 2016-Jun-03
11 perc
148. rész
Do I really have to follow software licenses?
118: Data Types: DateTimes Part 1.
14 perc
147. rész
Dates and times are a lot more complicated than we normally realize. Having a specific data type to manage all the details is crucial.
117: Data Types: Decimals.
11 perc
146. rész
If you need floating point values but find the accuracy of floats and even doubles to cause problems, then consider using the decimal type.
116: Data Types: Strings Part 3.
17 perc
145. rész
You need more than a bunch of numbers and logic to write an application. You need text and working with individual characters is not enough either.
115: Data Types: Strings Part 2.
15 perc
144. rész
You need more than a bunch of numbers and logic to write an application. You need text and working with individual characters is not enough either.
QA Friday 2016-May-27
7 perc
143. rész
Is there any point in learning how to code when I can just use the source code from another app?
114: Data Types: Strings Part 1.
16 perc
142. rész
You need more than a bunch of numbers and logic to write an application. You need text and working with individual characters is not enough either.
113: Data Types: Arrays.
13 perc
141. rész
You will often need multiple variables of the same type and while you can sometimes just create separate variables with their own names, what if you do not know ahead of time how many will be needed?
112: Data Types: Floats.
10 perc
140. rész
If you want to work with fractional values instead of just whole numbers, then floating point types are usually a good choice. They are different enough from ints that you need to understand how to use them.
111: Data Types: Enums.
10 perc
139. rész
What would you rather see? 1, 2, 3, or red, green, blue? Enums allow you to give meaningful names to values. Seems simple, right? It is, except for a few things you should be aware of.
QA Friday 2016-May-20
8 perc
138. rész
I met a person recently who has a college degree in computer science. He works at a local pizza shop. The question this week is not really a question but my thoughts on the situation. What went wrong? Or did anything go wrong?
110: Data Types: Void And Bool.
12 perc
137. rész
Void and bool are simple types that you can use with very little explanation. There are a few details that you should be aware of though.
109: Data Types: Ints Part 2.
16 perc
136. rész
You will probably have one or more ints in almost every method and class you write. They are everywhere so you really should know how to use them.
108: Data Types: Ints Part 1.
12 perc
135. rész
You will probably have one or more ints in almost every method and class you write. They are everywhere so you really should know how to use them.
107: Data Types: Chars And Bytes.
10 perc
134. rész
Chars and bytes form some of the most basic data types available. But what are they really? And what can you do with them?
QA Friday 2016-May-13
5 perc
133. rész
How do I use my foundational skills in programming to start making useful software?
106: Multithreading. Call Me Back Please.
11 perc
132. rész
Callback methods can also be either synchronous or asynchronous and add a whole new dimension to how you can approach problems.
105: Multithreading. Sync vs. Async.
9 perc
131. rész
What are synchronous and asynchronous methods and how do you use them?
104: Multithreading. Singleton Mistakes.
11 perc
130. rész
There is a big problem with Singletons especially in the C++ language. It is not obvious how to get them to work with multiple threads. You want one instance in your entire application and how do you handle the race condition when multiple threads ask for the instance at the same time?
103: Multithreading. Volatile.
10 perc
129. rész
Volatile is a keyword that allows you to turn off certain optimizations. Unfortunately, it is also used incorrectly many times as a way to synchronize threads.
QA Friday 2016-May-06
9 perc
128. rész
Do it in place. What does that mean?
102: Multithreading. Up And Down.
9 perc
127. rész
What if you just want to limit how many things you can have or can be done? This episode will explain another side of the semaphore sometimes called a counting semaphore.
101: Multithreading. Signal And Wait.
13 perc
126. rész
Semaphores are often confused and characterized as just a more general form of a mutex. There are actually some big differences though.
100: Multithreading. Master The Lock.
13 perc
125. rész
This episode dives deep into locks. How do they work? And then explains how you can use this to implement a reader-writer lock.
99: Multithreading. Cache Lines.
9 perc
124. rész
If you are not careful, you can cause a processor to come to an immediate and full stop while it waits for data to move around in memory. That is probably not the performance boost you were looking for.
QA Friday 2016-Apr-29
6 perc
123. rész
Do you get more value out of articles, videos, or podcasts?
98: Multithreading. The Great Divide.
8 perc
122. rész
How do you assign work to threads? This episode explains several ways you can think about this and when to use them.
97: Multithreading. The Big Event.
8 perc
121. rész
There is more to working with multithreading than locking code and avoiding deadlocks. You also need to know how to synchronize activities. It is not so hard once you understand.
96: Multithreading. Thoughtful Designs.
10 perc
120. rész
The design decisions you make affect not only how well you can maintain your code but also how well others can use your code. Multithreading adds a new dimension to your designs and I will give you some of my thoughts in this episode.
95: Multithreading. When Neither Side Budges.
11 perc
119. rész
Deadlocks are another common problem with multithreading. I will explain how you can get into this situation and how to change your code to avoid the problem.
QA Friday 2016-Apr-22
8 perc
118. rész
What makes a good personal programming side project?
94: Multithreading. The Race Is On.
13 perc
117. rész
Anytime a thread tries to access some memory or resource that another thread can change, you have a race condition. There is no winner for this kind of race. The whole application will lose.
93: Multithreading. When Should You Use It?
9 perc
116. rész
Do you know when to use multithreading? What are the advantages and disadvantages?
92: Multithreading. Why Should You Care?
10 perc
115. rész
There are several ways to make better use of the capabilities of your computer. Multiple threads allow your application to perform multiple things at the same time. With this power comes a lot of responsibility and you should also realize that it is not the answer to everything.
91: Round Robin. Nobody Starves.
10 perc
114. rész
Whenever your application has several things to do, you need to figure out how to schedule those things. This episode explains a common technique called a round robin that gives everything a fair share.
QA Friday 2016-Apr-15
8 perc
113. rész
After working 8 hours, how can I learn to program in the evening?
90: Design Patterns: Object Pool.
11 perc
112. rész
The object pool behavioral pattern allows you to reuse objects instead of destroying them and creating them again.
89: Design Patterns: Dirty Flag.
11 perc
111. rész
The dirty flag behavioral pattern allows you to avoid expensive operations that would just need to be done again anyway.
88: Design Patterns: Service Locator.
11 perc
110. rész
The service locator behavioral pattern allows you to make use of an interface without knowing what class implements the interface.
87: Design Patterns: Event Queue.
14 perc
109. rész
The event queue behavioral pattern allows you to keep track of work that needs to be done and let some other code actually perform the task.
QA Friday 2016-Apr-08
8 perc
108. rész
Can I learn programming if I am stupid?
86: Design Patterns: Component.
12 perc
107. rész
The component behavioral pattern allows you to add just the features to your objects that are needed and keep the features independent of each other.
85: Design Patterns: Subclass Method.
10 perc
106. rész
The subclass method behavioral pattern allows many different subclasses to define their own behavior while reusing common functionality from the base class.
84: Design Patterns: Update Method.
11 perc
105. rész
The update method behavioral pattern works with the previous game loop pattern and lets you manage the behavior of multiple game characters.
83: Design Patterns: Game Loop.
15 perc
104. rész
The game loop behavioral pattern is essential in games and simulations to make the actions proceed at the proper speed regardless of what the user is doing or how fast the computer is.
QA Friday 2016-Apr-01
11 perc
103. rész
How do you make a design easy to understand?
82: Design Patterns: Double Buffer.
11 perc
102. rész
The double buffer behavioral pattern allows multiple changes to all appear to occur at the same time.
81: Design Patterns: Visitor.
12 perc
101. rész
The visitor behavioral pattern allows you to perform actions on a collection of different types where the actions depend on the types.
80: Design Patterns: Template Method.
11 perc
100. rész
The template behavioral pattern allows your derived classes to change certain aspects of the base class behavior without needing to rewrite everything.
79: Design Patterns: Strategy.
10 perc
99. rész
The strategy behavioral pattern allows you to define multiple ways to perform some action and then select the best approach.
QA Friday 2016-Mar-25
9 perc
98. rész
What is identity?
78: Design Patterns: State.
8 perc
97. rész
The state behavioral pattern allows you to simplify your code when you have different modes of operation.
77: Design Patterns: Observer.
11 perc
96. rész
The observer behavioral pattern allows you to be notified of any changes instead of constantly checking.
76: Design Patterns: Memento.
8 perc
95. rész
The memento behavioral pattern allows you to save and later restore the state of an object even without full access to all properties.
75: Design Patterns: Mediator.
9 perc
94. rész
The mediator behavioral pattern allows you to define complex object interactions while still keeping each object simple and unaware of the other objects.
QA Friday 2016-Mar-18
6 perc
93. rész
How much programming do you need to know before you can call yourself a programmer?
74: Design Patterns: Iterator.
9 perc
92. rész
The iterator behavioral pattern allows you to access objects in a collection or anything that contains multiple items without worrying about how this is done.
73: Design Patterns: Interpreter.
8 perc
91. rész
The interpreter behavioral pattern allows you to solve common problems by expressing those problems in a simple language.
72: Design Patterns: Command.
10 perc
90. rész
The command behavioral pattern allows you to represent an action that you want to perform as an object that can be copied from place to place and performed at a later time if you want.
71: Design Patterns: Chain Of Responsibility.
8 perc
89. rész
The chain of responsibility behavioral pattern allows you to setup a series of possible results that you can initiate from a single location without worrying about what code will provide the result. Usually this pattern describes a single outcome but there can be more.
QA Friday 2016-Mar-11
9 perc
88. rész
Why are universities still teaching bubble sort?
70: Design Patterns: Proxy.
9 perc
87. rész
The proxy structural pattern introduces another object that your code uses instead of the actual object. This might seem pointless but there are some good reasons why you might consider this.
69: Design Patterns: Flyweight.
11 perc
86. rész
The flyweight structural pattern allows you to represent more items in your application as class instances without using up all your computer memory.
68: Design Patterns: Facade.
8 perc
85. rész
The facade structural pattern provides a simplified way for you to interact with a more complicated set of interfaces.
67: Design Patterns: Decorator.
10 perc
84. rész
The decorator structural pattern allows you to add new behavior to object instances dynamically. That means an object can change its behavior at run time. The interesting thing is that your objects do not even know they have been changed.
QA Friday 2016-Mar-04
8 perc
83. rész
What is the rule of three? And related to this: What is the rule of five? And what is the rule of zero?
66: Design Patterns: Composite.
8 perc
82. rész
The composite structural pattern allows you to build elaborate objects from smaller objects and not worry about how big they get. You can treat your composite objects as if they are all the same.
65: Design Patterns: Bridge.
8 perc
81. rész
The bridge structural pattern allows you to separate an interface from its implementation. Maybe you want to start out doing something one way and then change later. Or maybe you want to share an implementation. Or, if you're using C++, you can hide how you're doing something. This is a subtle pattern with a lot of potential.
64: Design Patterns: Adapter.
9 perc
80. rész
The adapter structural pattern allows you to change the interface of an object. This lets you reuse code that would not normally fit into your design.
63: Design Patterns: Abstract Factory.
12 perc
79. rész
The abstract factory creational pattern allows you to organize different sets of classes that work together so they get created together. This lets you change from one group of classes to another by configuring a different abstract factory.
QA Friday 2016-Feb-26
10 perc
78. rész
What is the best way for somebody to learn another programming language?
62: Design Patterns: Builder.
8 perc
77. rész
The builder creational pattern allows you to hide all the details needed to create a complicated object behind simple steps that another object will direct. This lets you change either how things get built or the steps that are used independently of each other.
61: Design Patterns: Prototype.
11 perc
76. rész
The prototype creational pattern is great for creating objects that you may not know about ahead of time. If your program allows users to build complex objects from simpler components and then needs to build more of these complex objects or if your program loads plugins at runtime, then it can benefit from this design pattern.
60: Design Patterns: Singleton.
9 perc
75. rész
The singleton creational pattern is simple and often used. It is actually used a bit too often so this episode will give you some caution and provide some ideas to modify this pattern when needed.
59: Design Patterns: Factory.
9 perc
74. rész
When you learn how to make use of design patterns, your software will become more flexible and easier to maintain as new features are added. This episode introduces patterns and then describes the factory pattern.
QA Friday 2016-Feb-19
8 perc
73. rész
What is syntax and what does it mean for somebody learning a new programming language?
58: C++ Templates. Types And Values.
11 perc
72. rész
Both C++ templates and C# generics serve a similar purpose. But where C# uses constraints to enable generics, C++ instead uses the compiler to enable templates. And C++ includes the ability to create templates base on values which will enable you to do things unheard of in C#. Most C# developers do not even know what they are missing.
57: C# Generics. Fill In The Blanks.
13 perc
71. rész
If you ever find yourself wanting to duplicate code with just slight changes to adapt it to use a different type, then you will appreciate C# generics. Generic programming is sometimes called template programming because it allows you to write code that will be used later to generate the actual specific code.
56: C# Exceptions. Finally Required.
10 perc
70. rész
Errors will happen. The question is how will you deal with them? The QA Friday from 2015 Dec-11 talked about this question. This episode explains C# exceptions and how they are different from C++ exceptions.
55: C++ Exceptions. Cannot Be Ignored.
14 perc
69. rész
Errors will happen. The question is how will you deal with them? The QA Friday from 2015 Dec-11 talked about this question. This episode explains C++ exceptions. C# also has exceptions. But C# is different enough to need its own episode.
QA Friday 2016-Feb-12
9 perc
68. rész
What advice can I provide to help you debug your code?
54: Recursion. Find Your Base.
14 perc
67. rész
Recursion is powerful and takes a bit of getting used to. It is like splitting your thoughts into multiple tasks that are all similar and waiting on the next thought to complete. I know, it sounds complicated. This episode should help you understand this topic that scares and confuses a lot of people.
53: Enumerations And Bit Flags.
13 perc
66. rész
Enumerations allow you to name different related options. The names can refer to a single option or you can use what you now know about bits to combine them into flags. With flags, you can have multiple enumeration options that you can work with as a single value.
52: Bits Operations: Shifting.
12 perc
65. rész
You can do more with bits than just turning them on or off. This episode will show you how to shift bits left or right for either really quick multiplication or division or to maneuver them into place.
51: Bits Operations: Masking.
14 perc
64. rész
Working with individual bits does not just give you a way to pack lots of true or false values into a small space. This episode will show you how to isolate bits so you can work with them individually or in groups. This is called masking.
QA Friday 2016-Feb-05
11 perc
63. rész
Are strings also a collection? And how are characters represented?
50: Hexadecimal. Easier Than Binary.
11 perc
62. rész
Hexadecimal gives you a better way to represent binary numbers. In one of the very early episodes, I explained how bytes are composed of eight bits. On some platforms, a byte might actually be more than eight bits. The real problem though is even eight bits are hard to read. The zeros and ones blend together. Hexadecimal allows you to work with four bits at a time and is much easier to read.
49: C++ Preprocessor. This Is Old Magic.
12 perc
61. rész
The preprocessor is old, primitive, and strong. But you need to understand its strengths to use it effectively. It adds capabilities that the C++ compiler cannot come close to duplicating on its own.
48: Chaining: Operators, Classes, Calls.
12 perc
60. rész
Chaining is a common term that has several different meanings. This episode explains how you can use chaining in your programs and how it works.
47: Operators. Who Goes First?
11 perc
59. rész
Programming languages have a lot of operators. More than most calculators anyway. Do you know what they are? Did you know there is an order to them? This episode explains precedence, associativity, and evaluation order.
QA Friday 2016-Jan-29
9 perc
58. rész
What types of programmers are there?
46: Collections: Iterators Part 2.
13 perc
57. rész
Iterators give you the ability to navigate from one item to another in a collection and track a specific position within a collection. This episode is part two and continues describing even more advanced iterator topics.
45: Collections: Iterators Part 1.
11 perc
56. rész
Iterators give you the ability to navigate from one item to another in a collection. Why is this so special? Now that you know how to work with various collections, you know that they are structured very differently. An array just needs to move a pointer to the next item. A list needs to follow wherever the next pointer leads. A binary tree needs to go up and down the tree. Iterators give you a common way to navigate no matter what kind of collection you are using.
44: Collections: Dictionary.
7 perc
55. rész
You will need to be able to work with groups or collections of items. You have choices and this episode continues more than a week long exploration of collection types available. Up today is the dictionary. I will explain what dictionaries are and then give you some guidance on when to use them.
43: Collections: Hash Table.
10 perc
54. rész
You will need to be able to work with groups or collections of items. You have choices and this episode continues more than a week long exploration of collection types available. Up today is the hash table. I will explain what hash tables are and then give you some guidance on when to use them.
QA Friday 2016-Jan-22
10 perc
53. rész
What can you expect your job to be like as a new programmer?
42: Collections: Left-Child Right-Sibling Tree.
10 perc
52. rész
A game that only has one character with one quest and with one shop that sells one item is not going to be very fun. That is why you need to be able to work with collections of items. You have choices and this episode continues more than a week long exploration of collection types available. Up today is the left-child right-sibling tree. I will explain what these trees are and then give you some guidance on when to use them.
41: Collections: Binary Tree.
15 perc
51. rész
A game that only has one character with one quest and with one shop that sells one item is not going to be very fun. You have choices for storing collections of items and this episode continues more than a week long exploration of collection types available. Up today is the binary tree. I will explain what binary trees are and then give you some guidance on when to use them.
40: Collections: List.
9 perc
50. rész
You will need to be able to work with groups or collections of items. A game that only has one character with one action and with one opponent is not going to be very fun. Up today is the list. I will explain what lists are and then give you some guidance on when to use them.
39: Collections: Array.
14 perc
49. rész
You will need to be able to work with groups or collections of items. A game that only has one character with one action and with one opponent is not going to win any awards. First up today is the array. I will explain what arrays are and then give you some guidance on when to use them.
QA Friday 2016-Jan-15
12 perc
48. rész
How can you prevent denial of service attacks? Most of the techniques you will use to prevent a DOS attack are network related. This podcast is about programming so I will explain some things you can do that will make your software more resistant to attack.
38: Big-O Notation. How Fast Can You Go?
14 perc
47. rész
There are some common Big-O notations that you should become familiar with as well as what kind of code leads to them. This episode continues the discussion of Big-O notation so make sure to listen to episode 37 first. Knowing the signs of these will help you write more efficient code and for some of them could actually mean the difference between your program working vs. never completing at all.
37: Big-O Notation. Take It To The Limit.
10 perc
46. rész
Big-O notation gives you the ability to describe how fast your code will run if given a large problem. It does not base anything on how fast or slow your computer actually is. It just looks at the steps needed to solve the problem and how they scale as the problem gets bigger.
36: Logarithms. It’s How Our Bodies Work.
10 perc
45. rész
Have you ever thought about why you cannot see stars during the day? How about why car headlights are so much brighter at night? Or why you can only hear a pin drop in a silent room? All of our body senses are like this. Our body is logarithmic.
35: Random Numbers Start With A Seed.
9 perc
44. rész
Programming involves giving specific instructions but sometimes you want the ability to introduce random behavior. Maybe you want to simulate how a human character sometimes does things in a different order or takes a different path. Or maybe you want the computer to select various items from a collection. Or maybe you want to simulate the randomness of rolling dice. This episode explains how to do this.
QA Friday 2016-Jan-08
10 perc
43. rész
What are denial of service attacks? The datacenter that hosts the Take Up Code podcast was put under so much stress due to a coordinated attack that the the entire datacenter had to be taken offline for several days while measures were taken to combat the attack. What happened? And what was done to make it better? That is what I am going to begin explaining today.
34: C# Casting. Only Frogs Can Be Frogs.
6 perc
42. rész
C# also supports both implicit and explicit casts and gives you some different choices when you need to switch types. Plus you have a runtime that is ready to throw an InvalidCastException. But even if you do not hit an exception, there are some things you should be aware of. This is still casting.
33: C++ Casting. Turn Your Object Into A Frog.
12 perc
41. rész
Can you change an int into a float? And because an int occupies multiple bytes in memory, can you get access to the individual bytes by themselves? Or what if you have a derived class and you want to refer to it as if it was a base class? And can you go the other way, from base class to derived class? These are the topics I will be explaining today.
32: Static Methods And Data. Always Available.
8 perc
40. rész
Declaring methods inside classes is great but what do you do when you want a method you can call anytime? If you are using C++, then just write a method. But if you still want your method in a class or if you are using C# where all methods need to be in classes, then you will need to make your method static. And you can declare static data too. What does that do?
31: Getters And Setters Keep It Together.
8 perc
39. rész
Your classes will likely have data members so how do you work with these data members? Should they be public? Private? Do you let other code access them directly? And what is the difference between a field and a property? This episode will help you get and set your data members.
QA Friday 2016-Jan-01
9 perc
38. rész
How are namespaces and include files related and why do we need both?
30: Interfaces. The Software Contract.
6 perc
37. rész
Interfaces give you the ability to define behavior without actually implementing it. Why would you want to do that? Your classes can then declare support for interfaces which means that they promise to support that behavior. How your classes do this is up to them. Declaring support for an interface signals that they do this. You can have what might be completely unrelated classes all supporting the same interface which then allows you to work with them in the same way.
29: Abstract Classes. Incomplete On Their Own.
6 perc
36. rész
What if you were writing a class that you wanted to be a base class? A class designed from the very beginning to bring together other classes with common behavior. What if you also wanted to guarantee that this class could never be created by itself? That it must always exist as a base class for some other class? All you have to do is make your class abstract. Then it can only be instantiated as part of another class that derives from your class. This episode will explain why you might want to do this and how.
28: Composition. The Has-A Relationship.
9 perc
35. rész
Composition allows you to specify very different kinds of relationships between classes. This is sometimes also called containment. If you are building a racing game and have a car class and a wheel class, you would not want to say that cars are wheels but instead that cars have wheels. Proper use of composition will even allow you to substitute what kind of wheels your cars have. This can not only simplify your designs but make your code easier to test.
27: Multiple Inheritance. Often Banned.
8 perc
34. rész
C++ gives you the power to do great things and multiple inheritance is one of the most powerful tools you will have. This does not mean that you should always use it. Use it when it is the right tool for the job just like any other tool. I will show you in this episode how to use multiple inheritance properly.
QA Friday 2015-Dec-25
7 perc
33. rész
How do you test changes in a large project? This question was asked during a recent live weekend class by Rushton W. In the class, I was explaining the benefits of compiling and testing changes often and Rushton wanted to know how this worked in a large application like might be found in a major software company.
26: Inheritance. When To Use Private.
7 perc
32. rész
This is an advanced C++ topic so do not get worried if it is difficult right now. You will rarely need to use private inheritance. And protected inheritance is probably even more rare. Some of my programming books just say that this whole topic is: beyond the scope of this book. I will do my best to explain this concept because that is what this podcast is all about. You get to learn from my experience.
25: Inheritance. Overriding Methods.
12 perc
31. rész
Declaring that a class is another class type is only part of the reason to use inheritance. It is actually much more powerful than just allowing you to refer to a group of different class instances all by some common base type. When you create a new class that derives from a base class, you can actually change the behavior of the base class methods to adapt them to the specific needs of the new derived class.
24: Inheritance. The Is-A Relationship.
9 perc
30. rész
Class relationships bring out the full power of object-oriented programming. Inheritance allows you to create classes that specialize or extend other classes. You can create entire hierarchies of classes but there are enough gotchas that some languages have restricted inheritance. This episode will not only explain what inheritance is but give you some guidance on how to use it wisely.
23: Access Control. Employees Only.
11 perc
29. rész
When defining what data and methods belong to a class, you also get to set accessibility levels so that some things are available for general use while other members are more restricted. Why not just make everything available? Then you do not have to worry about it, right? Learning proper access control will help you write code that is actually easier to understand and easier to use. This episode will explain why.
QA Friday 2015-Dec-18
8 perc
28. rész
What are logical operators? I sometimes find this question asked online and thought it would be good to explore. There are only three and you might think you already know how to understand them. But have you heard of short circuit evaluations? If you do not fully understand how logical operations can sometimes exit early, then at best, you are going to write some inefficient code. And most likely, you are going to introduce some hard to find bugs.
22: C# Creating And Disposing Instances.
11 perc
27. rész
Creating instances in C# is a bit different because there is a difference between value types and reference types. You will be able to navigate your objects with ease after this episode.
21: C++ Creating And Deleting Instances.
11 perc
26. rész
You are ready now to apply what you have learned about class definitions, pointers, and constructors and destructors to be able to create new instances in the main computer memory. There are some fundamental differences between C++ and C# that we are going to again focus on just C++ first and then explore C# tomorrow.
20: C# Destructors and IDisposable.
7 perc
25. rész
C# calls them finalizers and that is strangely appropriate because all you really know about them is that they might eventually be called, finally. This is because C# decided to manage object lifetimes for you so you normally do not need to worry about leaking memory anymore. This is called garbage collection. The problem with this is that you now have other things to worry about.
19: C++ Destructors. Simply Reliable.
8 perc
24. rész
One of the biggest differences between C++ and C# is in how object lifetimes are managed. I was going to have a general topic on destructors just like constructors but there are just too many differences. So today, we are going to look at C++ destructors.
QA Friday 2015-Dec-11
6 perc
23. rész
What is the best way to handle errors? Things will not always go the way you expect and you are going to need to plan how to handle errors. Should you use return codes or exceptions? Plus, this episode will help you in other ways. You will be glad you listened.
18: Constructors.
9 perc
22. rész
Constructors are your first opportunity to make sure your custom types are well formed. This episode explains the different kinds of constructors and how you should use them.
17: Object-Oriented Programming. The Next Level.
6 perc
21. rész
Object-oriented programming, or OOP, is a powerful way of designing software by creating your own types that encapsulate behavior and data. Your types can make use of other types through relationships. When I am teaching programming, I do not start out with this topic right away but I do recommend that you learn it as soon as possible because you will need to get used to a new way of thinking about your software designs.
16: In Or Out Of Scope?
7 perc
20. rész
Scope is another concept that is amazingly similar to your everyday experience. Imagine you are at home and ask your mom, Where are my slippers? You mom says, Upstairs. That is scope. And you need to understand it to program. Let me explain.
15: Let’s Program A Game! Part 3.
7 perc
19. rész
So far, our game does not do much and we are going to fix that. The most important thing for you to realize is that when you are programming, you are not going to write your final code at the very beginning. I know, I have said this before, but I cannot say this enough. Programming is a journey.
QA Friday 2015-Dec-04
4 perc
18. rész
In the last live weekend programming class, I created a variable called scrambledWord and then later created a method called scrambleWord. What do you do in this situation? Is this okay?
14: Let’s Program A Game! Part 2.
6 perc
17. rész
Follow along as I explain how to program a word guessing game in C++. This episode builds on a free 5-day email course that shows you step-by-step how to design and build WordGuess.
13: Let’s Program A Game! Part 1.
8 perc
16. rész
Follow along as I explain how to program a word guessing game in C++. This episode builds on a free 5-day email course that shows you step-by-step how to design and build WordGuess.
12: References Are More Than Just Pointers.
7 perc
15. rész
References behave a lot like pointers and are what many language designers use when trying to claim that their language is simpler because it avoids pointers. Do not fall for it. Take the time to learn pointers and references properly and you will build a foundation that will serve you well in all your future projects. This episode has a bias towards C++.
11: There’s A Method For All This.
11 perc
14. rész
We talk about methods in this episode. There are many kinds of methods and we will need to split this topic into multiple episodes. I will explain how methods are called and how they return when they are done. And a bit about how viruses can sneak in and gain control.
QA Friday 2015-Nov-27
4 perc
13. rész
The question this week comes from Mark L. and Scott S. who have both noticed some companies hire programmers who all speak the same language. Spanish is a common example. And they want to know why. What are the benefits of a software development team that all speak a language other than English?
10: Double Pointers! The Pattern Continues.
9 perc
12. rész
A double pointer is nothing more than a pointer to another pointer. It is possible to continue this pattern indefinitely having pointers to pointers to pointers, and so on. But you will rarely need more than a double pointer.
9: Pointer Arithmetic. This Is Easy!
8 perc
11. rész
Now that you know how a pointer can be used to separate groups of items, I am going to explain another use of pointers that helps you work with the individual items in the group through a special concept called pointer arithmetic.
8: Pointers! Computers Use Them Too.
6 perc
10. rész
If there is one thing that scares people more than void, it has got to be pointers. And rightfully so if they are misused or you get somebody trying to explain them who is already uncomfortable with them. This episode is going to rip the bandage off quick so we can move past this topic and soon you will wonder what all the fuss was about. I mean, really, we point to things all the time. Computers are just copying what we have been doing since childhood.
7: Into The Void.
14 perc
9. rész
Understanding types is super critical to being able to program. Without this knowledge it would be like trying to go through life where everything you see and feel is unknown to you.
QA Friday 2015-Nov-20
7 perc
8. rész
The question this week comes from Scott S. who wants to know what are all the files that get created when building an application.
6: Just In Time.
10 perc
7. rész
Many languages are adopting a model of just-in-time compiling. Do you know how this affects you? This episode will discuss the advantages and disadvantages of just-in-time compiling.
5: Interpreted Or Compiled?
9 perc
6. rész
Some languages are interpreted and some are compiled. Knowing how your code behaves will allow you to select the best tool for the job.
4: From Binary To GUIs. Part 2.
9 perc
5. rész
You have probably heard that computers only understand zeros and ones. So how does a computer go from zeros and ones to colorful graphical interfaces with buttons and web browsers?
3: From Binary To GUIs. Part 1.
9 perc
4. rész
You have probably heard that computers only understand zeros and ones. So how does a computer go from zeros and ones to colorful graphical interfaces with buttons and web browsers?
2: What Is Programming?
11 perc
3. rész
This episode will explain different types of programming in terms that you will be familiar with and then relate everything to computer programming concepts.
1: How To Start Programming.
8 perc
2. rész
Getting started is hard. This episode goes into some psychological aspects that will help you start programming and then some specific steps to get your software development environment setup on your computer.
0: Why Take Up Code?
9 perc
1. rész
This first episode introduces the Take Up Code podcast and what you can expect. And really, it is here to answer the question, Why Take Up Code?