Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)EV
Posts
6
Comments
400
Joined
1 yr. ago

  • Nice summary. I'm wondering if comparison with C++ may help, because Rusts' data structure design overlaps with C++ 's STL considerably. Another thing is that Geek for Geeks is not reliable, generally speaking.

  • Not talking about winforms in that quoted part. I thought that was obvious.

    I don't buy the second paragraph, especially as the phrasing is so loose it can mean anything.

    Edit: overall I think this will result in a typical internet conversation that turns into "lmao that's the weakest argument I've ever seen!" "you're so pathetic!" etc. etc.

  • That syllabus likely assumes Windows. C# on non-Windows is not impossible, but it's going to require effort infeasible for school projects like that one. As you're facing it, C#'s packages were originally not meant to be used cross-platform, and god only knows the amount of problems that lie ahead. That clearly didn't occur to the teacher's head while they designed the course.

  • I can respect your comment. The problem with Wikipedia's scholarly articlesI wanted to raise was that some group of researchers (or businesses) wash away others' views. In other times, mathematicians try to satisfy everyone from different disciplines, and write a very abstract article that covers everyone's view yet is too academic and hardly readable to most readers who actually need Wikipedia.

  • Computer scientist here. First, let me dare ask scientists here a question from a friendly fellow: do you have reference to your suggestions?

    Code Complete 2 is a book on software engineering with plenty of proper references. Software engineering is important because you learn how to work efficiently. I have been involved in plenty of bad science code projects that wasted tax payers money because of the naivety by the programmers and team management.

    The book explains how and why software construction can become expensive and what do about it, covering a vast range of topics agreed by industrial and academic experts.

    One caveat, however, is that theories are theories. Even best practices are theories. Often, a young programmer tries to force some practice without checking the reality. You know you can reuse your function to reduce chance of bugs and save time. But have you tested if that is really the case? Nobody can tell unless you test, or ask your member if that's a good idea. I've spent a good chunk of time on refactoring that didn't matter. Yet, some mattered.

    That importance of reality check is emphasized in the book Software Architecture: The Hard Parts, for example.

    Now, classes, or OOP, have been led by the industry to solve their problems. Often, like in case of Java, it was a partly a solution for a large team. For them it was important to collaborate while reducing the chance of shooting someone accidentally. So, for a scientific project OPP is sometimes irrelevant, and sometimes relevant. Code size is one factor to determine the effectiveness of OOP, but other factors also exist.

    Python uses OOP for providing flexibility (here I actually mean polymorphism to be precise), and sometimes it becomes necessary to use this pattern as some packages rely on it.

    One problem with Python's OPP is that it inherits implementation. Recent languages seem to avoid this particular type of OOP because the major rival in OOP, what is called composition, has been time-proven to be easier to predict the program's behavior.

    To me, writing Python is also often easier with OOP. One popular alternative to OOP is what is called a functional approach, but that is unfortunately not well-supported in Python.

    Finally, Automate the Boring Stuff With Python is a great resource on doing routine tasks quickly. Also, pick some Pandas book and get used to its APIs because it improves productivity to a great extent. (I could even cite an article on this! But I don't have the reference at hand.)

    Oh, don't forget ChatGPT and Gemini.