You are viewing a single thread.
View all comments View context
30 points
*

auto isn’t dynamic typing it’s just type inference. It still has a fixed type you just don’t have to write it. Like var in C#.

Lambdas are just a way of defining methods in place. It has nothing to do with callbacks.

But you’re spot on for memory safety. Managing it yourself is risky and if it can be managed at zero cost it seems stupid not to.

permalink
report
parent
reply
-6 points
*

auto isn’t dynamic typing it’s just type inference.

I’m aware, but one of the big arguments I’ve heard about dynamic typing is “I don’t know which type it has when I read the code”. Well, auto looks just like var in that regard.

Lambdas are just a way of defining methods in place. It has nothing to do with callbacks.

Callback definition from wikipedia:

In computer programming, a callback is a function that is stored as data (a reference) and designed to be called by another function – often back to the original abstraction layer.

This is exactly what lambdas are often used for in C++.

Anti Commercial-AI license

permalink
report
parent
reply
8 points
*

Well, auto looks just like var in that regard.

It really isn’t. Neither in C# nor in Java. They are just syntactic sugar to avoid redundant type specifications. I mean things like Foo foo = new Foo();. Who gets confused with that?

Why do you think IDEs are able to tell which type a variable is?

Even C# takes a step further and allows developer to omit the constructor with their target-typed new expressions. No one is whining about dynamic types just because the language let’s you instantiate an object with Foo foo = new();.

permalink
report
parent
reply
3 points

The problem with dynamic typing is you can’t always figure out what the type is even with investigation as it can be lots of things based on what is passed or returned. It also allows incorrect values to be passed.

People will indeed make that readability argument but if the type is not obvious and important to understanding the code then it likely shouldn’t be used there.

permalink
report
parent
reply
1 point
*

Keyword being “shouldn’t”. C++ doesn’t care about that, it just hands you the loaded gun.

Anti Commercial-AI license

permalink
report
parent
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.4K

    Monthly active users

  • 754

    Posts

  • 5.8K

    Comments