12 ms·
I've heard this argument several times now and it finally hit me what I dislike about it. If you aren't context switching between your backend code and your fr
by notdonspaulding 8y ago
I've heard this argument several times now and it finally hit me what I dislike about it.
If you aren't context switching between your backend code and your frontend code (even when both are JS), you're probably incurring technical debt in your architecture to be paid in even greater numbers of dev hours down the road.
When you are writing an all-JS full-stack app, do you really feel like you're only working on a single app, as opposed to two different apps which happen to share the same repo?
- chrisco255 8y agoIt's not even likely they're in the same repo when working with Node (although possible). The context switch between apps is one cost you have to pay (surely your backend will differ from frontend in architecture). However, the costs of switching languages is higher. Golang / JS conventions are very different. It is possible to share some common libs front end / back end (lodash, validation logic, etc) and that helps too.
- dozzie 8y ago> The context switch between apps is one cost you have to pay [...]. However, the costs of switching languages is higher. Is it? I was working with a system where server is written in Erlang and client (and another server) is written in Python. No problems with switching back and forth.
- chrisco255 8y agoYes, that's a cost your brain is paying. And a higher cost if you bring on new devs to that project, who then need to learn and understand both Python and Elixir. Debugging is different in both languages, libraries are different, standards, conventions, top level APIs, runtimes, capabilities, all that has to be understood to operate at a high level. That's a non-zero cost and it's pretty significant. That you've learned both so well that you can switch between them is great, but that's equivalent to knowing two musical instruments as well as one.
- dozzie 8y ago>> I was working with a system where server is written in Erlang and client (and another server) is written in Python. No problems with switching back and forth. > Yes, that's a cost your brain is paying. What cost? I said I haven't noticed any. > new devs [...] then need to learn and understand both Python and Elixir. No, they don't need to learn even a speck of Elixir. -- What you described is a trusim that one needs to learn two languages to write in two languages. Yes, this is obviously true. What I'd like to hear is an argument that switching between them used in a single system is costly, because I haven't observed that. This is what I discuss with, not with that learning another language has its cost.
- always_good 8y agoHow wouldn't there be a cost? There are more things you have to remember. Workflows in both languages. Of course it's more stuff, thus more context. And you have to use both languages constantly to stay fresh in them. The syntax isn't the only problem, just the easiest one. Is it just as easy to maintain Spanish and English skills than just English? "I don't notice it" isn't a very strong argument. I bet you don't notice the effects of slight dehydration and your diet and exercise on your output either. But if you were actually experimenting with it, I guarantee you could soon perceive it.
- dozzie 8y ago> How wouldn't there be a cost? How wouldn't there be a cost of switching between two languages? Normally. You could try, you'd know then. Though the prerequisite is a system that is designed, with clearly designated borders between the parts, not a system that has just emerged. Proving something's non-existence is a little like proving that you're not a weapons smuggler. How would you expect to even start? > There are more things you have to remember. Workflows in both languages. Of course it's more stuff, thus more context. But this is irrelevant to switching between the languages. You have just as much to remember if you write unrelated things, each in its own language. > Is it just as easy to maintain Spanish and English skills than just English? "Just as easy than"? Really? In a thread about languages? You picked wrong analogy. It is just as easy to write prose with every second paragraph in English and Spanish as it would be with just English. The prerequisite, obviously, is that you know both languages. > And you have to use both languages constantly to stay fresh in them. For some value of "constantly". It's not like people forget everything about a language when they don't use it for a week or a month. > "I don't notice it" isn't a very strong argument. Well, at least it's some argument. On your side is only "how wouldn't there be a cost?", clearly from a position of somebody who doesn't use many languages.