4,427 reputation
11527
bio website amadeus.com
location Sophia-Antipolis, France
age 30
visits member for 4 years, 2 months
seen Dec 8 at 10:25

C++ software engineer for Amadeus since January 2010.

Avid follower of the Clang project.

Known to dabble in Python for scripting purposes.

Interested in language design, and thus very interested in Rust (typestate, concurrency) and interested in Haskell (type system, functional paradigm), which I unfortunately did not had time to explore yet...

Interested in compiler design and low-level technics: Memory Allocation/Garbage Collection, Compiler Optimizations, Link-time Optimizations.

Favorite answers of mine:

Favorite answers from others:


Oct
8
awarded  Yearling
Oct
3
comment Databases: Where should the application logic run?
@Gili: It certainly made things slower though I do not think it was that much (remember the "lugging MBs on the network" comment); and I don't have numbers any longer nor am I inclined to investigate and re-create the situation (honestly, I have better things to do). It's a compromise, things got slower but we reduced the footprint.
Oct
3
comment Databases: Where should the application logic run?
@Gili: actually moving the queries help in that when a procedure/query is running it is consuming memory that can be released once it completes. For example, imagine having to do action X (taking some time) on N elements: the cursor/query generating the N elements can be freed once those N elements are turned over to another process, and said process may act to process X on one item at a time. With a stored procedure (or just a single big query) instead the cursor may occupy a lot of memory for the whole time.
Oct
3
comment Databases: Where should the application logic run?
@Gili: actually, it's real-life anecdote, not a strawman argument; note however that I did not specify CPU-bound, high memory consumption can also be an issue (when multiplied by the number of clients).
Oct
3
comment Databases: Where should the application logic run?
@Gili: Well, there is indeed a development cost; whether it is superior or not depending on how much it costs to spin up a new service in your architecture (where I work, it is so simple that there is actually less expensive than delivering a new library). However, you then benefit from all the advantages you listed... and perhaps one more. In performance, you have missed the fact that databases today are "central", and taking workload off a central point toward distributed applicative servers allow scaling more easily (to be balanced with lugging MBs over the network).
Oct
3
comment Databases: Where should the application logic run?
@HLGEM: If you are not allowed to change some applications, then the discussion about best practices/recommendations is moot. Obviously such discussion is only worth if you can actually take the decision in the end (or present arguments to someone who can take it).
Oct
2
comment Databases: Where should the application logic run?
"If the database needs to support multiple applications," => then you implement an application providing the functional API over the database, and this application will have sole access to the database :)
Aug
26
answered Is method overloading anything more than syntactic sugar?
Aug
7
answered Why are deadlines always so short?
Jul
8
comment Are error variables an anti-pattern or good design?
@Dunk: I don't think that my answer makes the apology of exceptions either; though, it might well depend on the type of code you write. My personal work experience tends to favor systems that fail in the presence of errors because silent data corruption is worse (and undetected) and the data I work on is valuable to client (of course, it also mean urgent fixes).
Jul
8
awarded  Nice Answer
Jun
25
comment Are error variables an anti-pattern or good design?
@rwong: regarding errno, I agree, however this makes it more complicated to write correct wrappers.
Jun
18
awarded  Custodian
Jun
18
reviewed Approve Are error variables an anti-pattern or good design?
Jun
18
reviewed Approve Are error variables an anti-pattern or good design?
Jun
18
answered Are error variables an anti-pattern or good design?
Jun
18
comment Are error variables an anti-pattern or good design?
@user2357112: actually, it is a problem for all languages that have a different notion of threads. Many of the new languages have "green-threads" that are not OS-threads, and wrapping C-libraries that use thread-local variables in those languages is a pain (and may quickly lead to bugs). Thread-local variables ARE global variables, and suffer from most of their woes.
Jun
18
comment Are error variables an anti-pattern or good design?
Just because a language supports exceptions does not make them a panacea. Exceptions introduce hidden execution-paths, and thus their effects need be properly controlled; try/catch are easy to add, but getting the recovery right is hard, ...
Jun
9
awarded  Good Question
May
18
comment Black box or white box testing - which do you do first?
Then we do not practice TDD the same way. TDD for me is about enforcing the specifications of a class/function: the tests are written to check that the class/function behaves as specified, but could care less how the code behaves behind the scenes so long as those specifications are upheld... which is necessary given that the tests are written before the functionality.