Hot answers tagged

8

He doesn't mean little IDE utilities that create boilerplate for you, which you must modify. He's referring to more comprehensive code generation that you shouldn't have to touch. You make changes to the higher level and regenerate. The canonical Unix example would be Yacc, which uses a high-level grammar to generate complex parsing code. Other examples: ...


3

In basic networking you have end to end. That is what I would call connected. TCP is an end to end protocol. You get a delivery receipt. That is nice but there is overhead with an end to end communication. You also have connectionless communication such as UDP or IP. You send it but do not get a delivery receipt. A good book is Computer Networks and ...


2

In networking, the technical term "connection" refers to a session where data is streamed (transmitted & received in-order). Sessions have a set-up and a tear-down phase where a channel (which can be virtual) is created & destroyed. TCP and ATM have connections, UDP doesn't. If you're not using the technical term and wanted to include all types of ...


2

Because reducing the feature set of a language requires a compromise. Taking a feature out of the language means either: the language no longer has that feature, so people who need/value that feature will not want to use that language (aside: this is the reason I've never tried golang... while I like some of their ideas I find exceptions too useful to ...


2

I think layering is undervalued. I wish there were more texts talking about that as a design point. Layering means placing an abstraction on top of another abstraction (without allowing the underlying abstraction to leak thru). One great and highly effective example of layering is when you change languages. For example, you write some SQL on top of a SQL ...


1

Should we be thinking about a style of writing code that is better suited to the contemporary software design and architecture of being agile and user-centric (hence evolving faster compared to business requirements) that incorporates both elements of re-usability and also erasability? The underlying issue with the erasable versus extendable code is ...



Only top voted, non community-wiki answers of a minimum length are eligible