Hacker Newsnew | past | comments | ask | show | jobs | submit | ToruiDev's commentslogin

Well, this features is designed to be used by source generators and not humans.

So as it's intended for being used inside the compilation process, i don't think this is too valid of a concern.


That's good to know. I wonder if VS and VS Code are set to at least produce warnings when the feature is used in human generated code. Any feature can be abused, will be abused. At least with warnings by default the programmer can know this isn't a desired use case and then decide if their particular need is a worthwhile exception.


On the other hand if this oopsies its way into a codebase it could highlight a serious problem with the code review process..


Source code generators are used because the language itself is not expressive enough. Maybe fix that instead.


That's not really true.

Source generation is used at some level to implement expressivity at minimal runtime cost. It's just operating at a different level of abstraction to make different tradeoffs.

Whether you do Foo.Serialize() and it uses reflection to enumerate the properties, carries around tags permanently or it uses some compiletime generated function has nothing much to do with expressiveness.

If you design around a Foo<bar> does it matter if behind the scenes it generates a FooOfBar?

Should a language inherently care specifically about protobufs, flatbuffers, capnproto, etc because expressiveness or should it just have capable source generators for building strongly typed interfaces without the legwork? Are you sure an alternative implementation which is more expressive would be better or would it just be different?


That is really true, it is a workaround to avoid designing a proper macro system instead.

Likewise the new interceptors infrastructure is a workaround to avoid implementing proper AOP support, like Microsoft Fakes.


> Whether you do Foo.Serialize() and it uses reflection to enumerate the properties, carries around tags permanently or it uses some compiletime generated function has nothing much to do with expressiveness.

Thinking those are the only options is exactly why the issue is expressiveness.


Is this a reference to some specific, better, technique or an optimistic belief that such a thing could be built if only ..?


Code generators are used because run-time introspection tends to be slow(er) and because debugging code generated at runtime is harder and because IDEs don't know how to deal with code generated at runtime. But there no reason why this should be so. No good reason to have a hard boundary between compiletime and runtime either. These are just historical artifacts.


So how would you solve the AOT (ahead of time compiling) problem without code generation? An entire ecosystem (Unity) that uses C# requires that code must be AOT for supporting IL2CPP (a low level translation of IL to c++). Dynamics and Reflection of non-AOT types are unavailable at runtime. IL2CPP came from Apples requirement that no JIT be run in apps and to get more performance; especially, for features like burst that allows writing C# that directly translates to high performance multithreaded c++.


Different usage, I think: if people are talking about "language not expressive enough", they're referring to mechanisms for generating C#, or IL, not things further down the toolchain for AOT.

System.Xml.Serialization, for example, relies on generating assemblies at runtime to work. That's "code generation", but of a kind that directly conflicts with the AOT meaning of "code generation".


One example would be a tool that you compile in and records some state after every LOC in a method which you are interested in.

If you wanted to use a normal debugger at the same time you would usually be shown your code with the tool's generated code mixed in.

With this you could step through just your code.


You can't make a language fully general without it turning into a mess; things like the protobuf compiler are reasonable use cases for source generation.


There's also cases where you're legally required to support them

E.g. ADA (Americans with disabilities act) website compliance which seems to be required when the employer has more than 15 employees


My employer has more than that, and is not subject to it. I don't know exactly why, but I think has something to do with availability to public? Our users are employees of our customers.


Which still relies on the Chrome Web store.

Which will stop accepting MV2 Extensions after the move to MV3

Therefore leaving you without a store again


They still do since they're a subsidiary/related.

Microsoft tried to get around that by not hosting in the EU but having a european trustee do it for them.

That got us the CLOUD act


Wrong Submission;)

You probably wanted to comment on https://news.ycombinator.com/item?id=30023169



Ah, failing to correct someone but making a similar response... a problem as old as time.



I was expecting this link to have nothing to do with Murphy's law...


Kernel and rootfs appear to be built using buildroot https://github.com/fnuecke/buildroot/tree/sedna/board/sedna-...

The github of the mod https://github.com/fnuecke/oc2


But at least for apple you already pay a 100$/year fee for them to distribute your apps.


I'm sure Apple will say that fee is to help pay for the development of the developer tools.


Because Apple doesn't need those tools internally to develop their OS and apps?


SAP ERP is nowadays mostly written in C(++), java and ABAP (their own programming language to implement business logic, forms and reports) with SAP HANA bringing Web technologies.

SAP also predates the cloud, it used to be in mainframe land though (SAP R/2).

It has a cloud offering in its latest revision SAP HANA, but switching a major version is prohibitely expensive and requires immense amounts of work.



ToruiDev has linked part 1, OP is part 4.


Yes - this is Part 4 of journey for repairing them.


It would depend on your definition of porn of course, but at least in Germany you can get pornographic magazines at lots of kiosks/stores, especially the bigger ones


I’m really trying to be respectful and being careful about the rabbit hole that this question could go down....

But by “porn” do you mean Playboy level nudity or more hard core?


In most European countries, hardcore is typically on sale anywhere you can buy a newspaper or magazine.


It’s definitely not like that in the US.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: