by jeddy3 on 12/28/22, 7:53 PM with 8 comments
First of: I am a software developer since many years, in a small company, without very complex applications, sadly no mentors or alike (more developers but we are all in the same situation).
So, every time I'm trying to develop a non-simple application I'm finding I have no idea on how to make a thoughtful (or even working) architecture for it. I have several hobby projects stalled because I just don't manage to progress without making an unworkable mess.
I realize the question is somewhat open-ended, but what I am looking for might be something like walk-throughs/discussions in REAL semi-complex applications. Something that approches actually designing an application together with a mentor. Everything goes: books, talks, youtube-channels, podcasts, ...
For example, in a complex text-editor:
- how to read and pass input
- store and update buffers
- where should syntax highlighting happen and where should it be rendered, how is colors passed to renderer.
- How do one design a plugin architecture
- How would one design for multiple GUIs
I know how to do the small stuff like actually reading input.I am not looking for the usual design-patterns, refactoring pieces, language tutorials, etc.
What I have tried:
- Actually coding, but as I said, I just can't progress on my own.
- Kilo/Hecto editor tutorials, and other projects, I'm unable continue beyond finishing them.
- Reading code, I can't even reason about my own code, let alone others.
- Books, the usual recommended ones, refactoring, design patterns, pragmatic programmer, Domain driven design (can't finish that one), etc...
Books that have helped me: Modern software engineering, A philosophy of software design.The latter book talks about mentoring lead discussion groups about application coding, that is something I would probably be very much helped by.
Sorry for the long rant, hopefully one of you fine people will have some input.
by sargstuff on 12/28/22, 8:41 PM
Small developer discussion outside of company time (not related to company stuff) might help with team building and understanding the strengths/weakeness of those working with.
'Mastering EMACs'[1] would seem to cover the example complex text-editor.
Looking at & understanding open source projects may help both code & using other resources to understand the 'meta-data'/setup of a given project. aka cmake, git, X11 resource, unix OS, shell programming, etc
Quite a few open source programs/projects also have forums where questions can be asked/answer reguarding why/how things were done in a project. Also typically have additional resources/pointers to things program/project makes use of.
----
by sargstuff on 12/31/22, 4:00 PM
unix as an ide : https://news.ycombinator.com/item?id=30169843
using ed : https://news.ycombinator.com/item?id=34162312
editor articles : https://blog.sanctum.geek.nz/links/
pioritizing technical debt : https://www.youtube.com/watch?v=fl4aZ2KXBsQ