Krzysztof Kowalczyk wrote:
The topic is: are there improvements in programming technology (i.e. silver bullets) that can account for an order of magnitude improvements in programmers productivity.
Using glue to stick pieces of gold together can produce a jewelry. But i think you will want one made from scratch. Python is a glue. C will kicks it forever. Because C is a tool not a glue.
C has no lists, fancy strings, dictionaries and so on. But if you will not invent them in C you could write great program.
You are going to write proxy. You need to keep a list of connections. You estimate to serve about of 100 connections at once. Keep this in dynamically allocated hash-lookup dictionary. As always do. As others do.
STOP! Just use plain old static-sized C array. Replace key-lookup with simple retrieving via connections[fd-base_fd_no].
You are going to save a bit of memory using dynamic allocation? You are joking? 1000 connections * 4096k per connection = 4Mb. This array will be 4M only. You have 4Gb of memory in your high-end server!
Yes, Python could be a tool too. But who cares?