24 posts tagged “programming”
Нет, вы не знаете С++. Вы знаете С++ с хорошей стороны, но вы еще узнаете С++ с плохой стороны!
Я в последние годы как-то остерегаюсь высказывать категоричные мнения по таким темам, как будущее языков программирования, но мне кажется, что будет интересно.
Crossposted to LJ, itemid = 3127, security = public, mask = 0.
at least twice. Очень интересный список, судя по аннотациям. Я оттуда читал только №5, но теперь собираюсь и остальные прочитать.
Crossposted to LJ, itemid = 3113, security = public, mask = 0.
По ссылке от <lj user=trurle>
Crossposted to LJ, itemid = 3106, security = public, mask = 0.
А вот еще такой вопрос ко френдам-программистам. Допустим, вы отвечаете за какой-то, достаточно значительный кусок кода. До вас этим куском кода в течении многих лет занималось еще множество народу, с частью из которых вы даже не знакомы, а другие уж далече. Вам кажется, что код этот - наказание за все ваши грехи: он с одной стороны имеет очень сложный для понимания дизайн, с другой - в течении тех лет, что его поддерживали, в него внесли кучу изменений, которые идут поперек этого дизайна. Таким образом в нынешнем его виде вносить в него дальнейшие изменения (о которых все время просят заказчики) - чистая и незамутненная радость. В такой ситуации есть два возможных решения:
1. Либо потратить кучу времени и сил на реставрацию: понаписать тестов, сделать рефакторинг, вернуть код к жизни.
2. Либо выбросить все, и написать, с учетом имеющегося опыта, заново.
Очевидно, что начальство двумя руками за 1-й вариант: переписывание - это риск, начальство рисков не любит. Очевидно также, что будут ситуации, когда будет выбран первый вариант, а будут - когда второй. Чем бы вы руководствовались при решении о том, какой вариант выбрать?
Crossposted to LJ, itemid = 3024, security = public, mask = 0.
Читаю по наводке <lj user=object> уже третью книгу подряд. Вот они в порядке прочтения:
1. Agile software development
2. Test driven development by example
3. Refactoring (это та, которую сейчас читаю)
Мне, такому всему из себя "матерому зубру", должно быть немного неловко, но эти книги были для меня настоящим eye opener-ом. В отличие от традиционных книг по программированию, которые либо описывают конкретную технологию, либо говорят о дизайне в идеальном мире (см., скажем, Буч либо гэнг оф фор), эти книги говорят о том, как решать проблемы, с которыми большинство программистов вынуждены сталкиваться на практике в течении 90% своей профессиональной деятельности (время, потраченное на заседания, перекуры и тренинги - не в счет). Например - как быть, когда приходится иметь дело с кодом, написанным годы назад неизвестно кем, а потом поддерживающимся еще кучей народу, мало кто из которых до конца понимал, как работает код, который он изменяет. Как вести себя в условиях постоянно меняющихся требований, в условиях, когда эти новые требования тянут код в направлении, о котором не думали при певоначальном дизайне. И так далее. Очень рекомендую всем, кто еще не (и кто не дошел до всего своим умом).
Crossposted to LJ, itemid = 3023, security = public, mask = 0.
на технические темы, накопилось:
- The C10K problem (как достичь 10К одновременных соединений на стандартном линуксе)
- Debugging Makefiles
- Linux kernel networking flows
- Google's Python based build system
Crossposted to LJ, itemid = 3012, security = public, mask = 0.
(интересно, разве что, программистам, да и то, небось, баян).
Crossposted to LJ, itemid = 2937, security = public, mask = 0.
Скорее для собственной памяти, но и для нахождения в поисковиках решений на редкие компьютерные проблемы, замутил сообщество <lj user=gotchas>. Что-то типа упомянавшегося здесь stackoverflow.com небезызвестного Й. Спольского, но более камерное. Если вдруг кому интересно - прошу.
Crossposted to LJ, itemid = 2914, security = public, mask = 0.
Программы, которые компилируются (и работают) на разных языках.
(случайно обратил внимание, что один из авторов - мой бывший коллега).
Crossposted to LJ, itemid = 2889, security = public, mask = 0.
programming trick (thanks to <lj user=ilya_dogolazky> for inspiration for looking it up).
Crossposted to LJ, itemid = 2876, security = public, mask = 0.