3 ms·
Yes. I usually do one or several projects to learn how a new language works. The projects I do depend on the language. I hate reading books and even moreso watc
by jfaucett 9y ago
Yes. I usually do one or several projects to learn how a new language works. The projects I do depend on the language. I hate reading books and even moreso watching videos about a specific programming language, but thats prolly just my ADSD self.
Here's a project I'd do for Swift.
1. Write a chat server / client. (this will quickly let you see how async/threads/channels works and how good the networking libs are). You can easily go further and add a GUI to see what thats like. Add Sqlite for managing contacts/settings to see how the db layer works.
2. extract things into libraries/modules/packages i.e.whatever swift calls it, to learn how their pkg and version mgmt system works.
3. As soon as you have something working push it to a server and get it running. Add a bash script to do this automatically. The goal here is to learn how to actually release and deploy using swift.
It doesnt have to be a chat app, I usually do something thats like a problem I'm currently working on, and its best if you can actually use it to solve some real world problem. It just needs to be something that has a lot of places where you can explore parts of the language i.e. db,networking,async,etc.
- kiliankoe 9y agoThere's nothing better than actually writing some code in the language of choice. I'm also no fan of videos on the subject. A few helpful blog posts can however be great. My go to way of getting my feet wet is rewriting a library or a part of one I've developed before. I know the problem domain and can figure out how to tackle problems in the new language. Understanding the dependency management and publishing tooling is also always great fun!
- deadcoder0904 9y agoThe problem is it gets really irritating building the same thing again & again in multiple different languages. The only application I have repeated is a Todo App. But nice advice, I will apply it while learning Swift.