C++ Weekly - Ep 383 - C++ Cross Training

Поделиться
HTML-код
  • Опубликовано: 4 сен 2024

Комментарии • 24

  • @krzysztofrutkowski5481
    @krzysztofrutkowski5481 Год назад +21

    As the smart man said, learning complex tricks with a hammer won't necessary make you a better blacksmith, but rather a circus performer.
    People often forget that programming language is just a tool and having more than one in the toolbox is usually worth more than being expert in just one.

  • @code_report
    @code_report Год назад +10

    I was watching this video thinking "I 100% support this message" and then lo and behold you mention my channel 😂 Great video Jason : )

  • @Omnifarious0
    @Omnifarious0 Год назад +11

    Isn't this where you write code while running on a treadmill?

    • @cppweekly
      @cppweekly  Год назад +1

      Hmmm... I should have tried that.

  • @Omnifarious0
    @Omnifarious0 Год назад +10

    On a more serious note, a whole bunch of ideas making it into C++ came from Python or some other languages. C++ ranges are very similar to Python iterators and generators. The format library semantics are lifted almost verbatim from Python.
    So, I completely agree.

    • @ohwow2074
      @ohwow2074 Год назад +3

      I fu¢€ing love the and libraries. They're such a huge improvement in C++ that people don't appreciate it yet.

    • @quintrankid8045
      @quintrankid8045 Год назад +1

      But will C++ get f strings?

    • @Omnifarious0
      @Omnifarious0 Год назад +2

      @@quintrankid8045 - If C++ had better compile-time introspection, you could have something like f strings. But you'd have to use a suffix rather than a prefix.

    • @oleksiistri8429
      @oleksiistri8429 Год назад

      libcpr

    • @cppweekly
      @cppweekly  Год назад +1

      Well, TBF, it's rare that you completely disagree with me :D

  • @martinmckee5333
    @martinmckee5333 Год назад +3

    For my personal projects I use Python for exploratory programming then a combination of C++ and micropython (depending upon the target mostly) for final implementation. I like that the oroceedure requires me to implement the vary basics of the problem twice, as that builds in testing, and it also helps to clarify the most important concepts. It's not an ideal approach for commercial projects, but it's great for learning projects where the process and outcomes sre more important than minimizing project duration.

    • @cppweekly
      @cppweekly  Год назад

      I once read (or dreamed?) a quote that was something like "you don't understand your code until the second time you write it" (I thought it was from Carmack, but have been unable to find it since then)
      I think you make an interesting point about intentionally prototyping in a different language.

  • @ruadeil_zabelin
    @ruadeil_zabelin Год назад +2

    I did that.. and then I was reminded again of the sorry state of things in C++, like how modules only just "kinda" work instead of fully and how a lot of compilers are still moving a lot from C++20 and even 17. It's very sad. Can we please break ABI and move on?

  • @torarinvik4920
    @torarinvik4920 Год назад

    100% agree! I particularly find the pure languages like Smalltalk, Self and Haskell, and Assembly to be great for teaching purposes. You could also throw in Prolog, Forth, and APL but you will have to be a real masochist to program in them. Prolog particularly I found to be incredibly difficult to use, I struggled to solve even the most basic problems. It is by far the hardest language I have ever tried.

  • @grincha09
    @grincha09 Год назад +6

    Modern/new languages series? (Zig, nim,go,rust...)

  • @nextlifeonearth
    @nextlifeonearth Год назад +1

    In my experience python is a good first language, but one that almost encourages bad practice. And because it's so flexible you can keep getting away with your current bad practices.
    I would recommend a much different language with different principles that may translate to C++ better, such as rust, Haskell, lisp etc. Throw in something that will be useful regardless, like bash, and you can go ways.
    Especially rust I believe made me a better programmer overall. It just makes you think different.

  • @VictorOrdu
    @VictorOrdu Год назад

    Great idea.

  • @__hannibaal__
    @__hannibaal__ Год назад +2

    I don’t understand that when i want to learn Python i have strong feeling that i wasting my time;
    Take in your mind that i start programming at age 15 with GWBasic in early 90s, after Pascal(with Turbo ) and in early 2000 with Fortran90 and Matlab for Fluid Mechanic Simulation; and Finit Element Method for PDE; i start C in 2003 but quickly leaves it, - i returned only last year and i complete 80% C++ - .
    Now i start for some independent Project __ only one is industrial__ in C++ .

    • @quintrankid8045
      @quintrankid8045 Год назад +1

      If you're doing numeric work, things like FEA, and fluid mechanics, have you explored the Python libraries numpy and scipy? Matplotlib? And maybe even sympy?

    • @__hannibaal__
      @__hannibaal__ Год назад +2

      @@quintrankid8045 thanks you; I m very busy these day with my work; but usually I use direct Mathematica for PDE to extract handly and Matlab, but these day i m interested about calculus acceleration for Numerical Value of Inverse Function and Functional Equation of Type : f(g(f(x))) = 1x; x is variable uni or multi dimensional.

    • @tzimmermann
      @tzimmermann Год назад +1

      I'd say have a go! I learned and used a lot of languages too (20+ I'd say). At this point, learning a new language is kinda quick due to skill transfer, so you won't waste much time if at all.
      Initially I wanted to have a nice generic scripting language to speed up research and prototyping so I tried python. It worked well enough for me, and I moved more and more things to python. Now, I can do most of what I did in Matlab / Maple with numpy / scipy / sympy / matplotlib / pandas / statsmodels in python. Recently I experimented with analog filter synthesis / simulation with python / xyce. I only use C++ for performance-critical stuff nowadays and python for almost everything else (that is not web-related).
      It feels like I was stuck in a local minimum before. Maybe I'll learn something even better in the future.

  • @anon_y_mousse
    @anon_y_mousse Год назад

    I completely agree, we should exercise more to stay healthy, and part of that exercise should include our brains. Learning multiple language can be quite helpful on that front. Everyone should learn a functional programming language so you know how NOT to write code, and also learn how to convert recursive algorithms into iterative implementations as well as to never write recursive code, ever. The only reason any specific programming language matters is because of oddball syntax which gets in the way of immediate understanding and the standard library which speeds up generic usage of that language. Once you've learned as many quirks as you can in as many languages as you can, it should make you a far better programmer. However, it's important to also understand how computers actually work and to understand at least the basics of mathematics and when and where to use various algorithms and data structures.

  • @oleksiistri8429
    @oleksiistri8429 Год назад

    Thats all fine&dandy, but please be focused more on the c++