I did try my hand at a translation tool, as it was all i18n up proper. Watched one guy blow coffee through his nose when I demo'ed - and the 'BACK' navigation was the French word for a persons back or something like that.
Latin would have been used pre-Renaissance. Our grandparents might have still had to learn it as a part of an educated person's toolkit, but it was long not intended for communication anymore back then.
From what I remember, there was a divide between Catholicism and Protestantism, where some of the smaller countries that followed Protestantism used German as a common language due to its origins. I think knowledge of German in Norway was something that was expected of students attending the universities until the mid 1900s (due to geopolitical changes)
Luckily if you are intelligent enough to read Dutch learning English is a walk in the park.
If you're from Europe knowing Latin definitely gives you a deeper appreciation of a bunch of stuff.
It's a useful way of formalising verb conjugation and tenses which is common across the major European languages. Something they all take for granted but I watch my poor mother's mind melt when she tried learning German as a Chinese speaker. Especially as a lot of these forms are looser and more forgiving in English.
A lot of vocabulary has its origins in Latin and biology and medicine still like to borrow from it.
It's niche but only today I was playing some Mozart on the piano and saw "M. S." where I was meant to cross the hands and I considered for a sec and guessed it must be mano sinistra (forgive the declension) even though I've never learned Italian thanks to Latin.
https://chatgpt.com/share/679b43af-e770-800a-92ee-b27bd87194...
To maintain optimal efficiency, a Flyweight is used for the "Hello, World!" string, preventing redundant memory allocation. The Proxy regulates access to the print function, ensuring only authorized modules can invoke it. The Composite structure organizes potential multiple output streams, making it easy to expand the system beyond just console printing. A Factory of Factories, or MetaFactory, oversees creation of our AbstractFactories to maintain consistency and scalability.
Before execution, Encapsulation hides implementation details while Cohesion ensures the PrintHandler remains single-responsibility. Loose Coupling ensures that changing one component won’t break the system. Interfaces dictate behavior, and Abstract Classes provide reusable codebases. Dynamic Dispatch selects the appropriate OutputStrategy at runtime.
To enhance modularity, a Decorator wraps the PrintHandler for additional formatting options, an Adapter ensures compatibility with different logging frameworks, a Memento preserves state in case a rollback is needed, and a Facade simplifies access for higher-level modules. The Chain of Responsibility delegates different logging levels, while the Command Pattern encapsulates the printing request for possible queuing or delayed execution.
By adhering to Open-Closed, we can extend our print functionality without modifying core logic. Liskov Substitution ensures all output strategies remain interchangeable. Interface Segregation ensures smaller, focused contracts. Dependency Inversion prioritizes abstractions over concrete implementations.
Finally, SOLID principles uphold scalability, reusability, and maintainability. UML diagrams map out relationships, Sequence flows depict interactions, and Design Contracts enforce constraints, ensuring the system remains adaptable.
After all this, we simply call PrintManager.getInstance().print("Hello, World!"); and marvel at our masterpiece.
See e.g. FizzBuzz Enterprise Edition https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...
I’m working for a company that’s doing things in typescript using IOC and dependency injection everywhere. It pervades the minds of Americans such that they walk and talk like a parrot parroting that book.
What Americans don’t realize is that those patterns are arbitrarily made up. It’s as arbitrary and localized as the Japanese having to bow for politeness. There’s nothing intrinsically hugely beneficial for following this style. In fact, modern languages push against it. Languages like golang and rust are examples. Even JavaScript was an example although recent es6 syntax makes patterns more easier now
I think you will find most Java programmers were using these patterns before they came across the book. The language naturally leads you in that direction. The book just put a name on them.
Java was released in 1995.
function czyWybranoPsa() {
var isPies = false; var bil_dod_psy_arr = [17, 18, 19]; // psa, psa-asystenta, psa-przewodnika
$(".bilet_dodatkowy").each(function(idx, elem) { if (bil_dod_psy_arr.indexOf(parseInt($(elem).val())) > -1) { isPies = true; } });
return isPies; }
Come to think of it, I wonder if there are language concepts that don't map to English that artificially restrict what we can program?
For example would programming U->D, R->L in Chinese (vs L->R, U->D in English) result in easier to read programs somehow?
Would being able to program using iconography (like a bunch of FE languages) result in more "screens" of text to aid understanding?
load "*",8,1
and back then I didn't understand what load means any more than I understood what ,8,1 means, I just knew that if I press this sequence of letters it will start summer olympics.
Sure you can, if you know Java, which is its own language distinct from any natural language.
Conversely, you can't program in Java if you know English, but not Java.
> A for-loop has to be written in English??
No, it has to be written in Java. It's true that Java keywords are mostly themselves borrowed from English (often by way of C++ or other computer languages rather than directly) with a use in Java that has some connection to the meaning in English, so its probably easier to learn Java if you already know English (even before considering that there is probably more and better documentation in English than other languages), but that's not the same as English being a requirement for programming Java.
They translated the keywords. Even if you've programmed in proper programming languages for years without knowing English, all the regular keywords to get stuff done you will know in English. And you won't be able to do a single thing in Excel coz none of the keywords work.
One good thing I guess: You can honestly say when they ask you "hey, you know how to program computers, right? Can you help me with this problem in Excel" and you can honestly say: Nope, can't, no idea how that works. See it doesn't even have a simple IF.
Example: https://easy-excel.com/excel-in-other-languages/excel-formul...
[1] https://yandex.ru/project/browser/streams/technology (RU only)
(someone who had to learn english to do programming)
relying on machine-translated documentation or limiting yourself to only using libraries written in your native language would be a huge impediment.
If the stack overflow examples are in English, you might as well use it. That's also why JavaScript is maybe a better choice than Typescript even if Typescript is better.
It's also a status symbol.
The smaller the language pool is the stronger this effect is. Japan is large enough that it's less guaranteed. Places like India and Indonesia that have a lot of internal languages end up using English as a lingua franca (+) as well.
(+) latin term!