информационная безопасность
без паники и всерьез
 подробно о проекте
Rambler's Top100Страшный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / блог / архив / 2012
АРХИВ
архив
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005
2004
2003
2002
archive





шарпоплюсноучебное
31.10.12 18:24 // оригинал
Ознакомился с парой учебников Павловской по С++ и С#, которые оказались практически единственными тематическими книгами, закупленными нашей библиотекой в количествах, доступных для рядовых студентов (по рекомендациям МО РФ). Понятно, что адаптированные программистские курсы нужны исключительно из стремления сэкономить, своего там - ну разве что примеры, изложение самого языка - пересказ того, что понял автор. Все-таки честно попытался преодолеть это предубеждение, раз уж все равно работать с теми, кто будет этим пользоваться.

Книжку по С++ пролистывал быстрее, только в поисках привычных реперных точек. Поэтому есть шанс, что просмотрел - но в упор не увидел описания работы конструкторов/деструкторов с разными типами памяти и с объектами-полями других классов. Исключения, шаблоны - приемлемо, но очень наискосок. Стандартная библиотека расписана прилично, честно перечислены практически все алгоритмы, не говоря уж о контейнерах. Собственно, книжка и не позиционируется как исчерпывающее описание - что тоже вполне честно. Слова про полезность для искушенных программистов - это вряд ли.

Учебник по C# честно просмотрел весь. В паре мест цепанул перевод. Sealed классы упорно называются бесплодными. Чем не угодили запечатанные - непонятно. Отдельный шик - перевод слова virtual. На голубом глазу утверждается, что "virtual в переводе с английского означает фактический", после чего строится логическая цепочка - мол, фактический, поскольку ссылки на метод разрешаются по факту вызова во время исполнения. Конечно, есть и такой вариант перевода, но все-таки воображаемый/возможный/гипотетический в данном контексте звучит гораздо логичнее и не требует притягивания за уши рассуждений о разрешении по факту (хорошая проверка для перевода - pure virtual). Рассказ, что # - на самом деле диез, и говорящие "си шарп" должны и C++ называть "си плас-плас" - ну тогда уж нужно было доводить музыкальный перевод до конца и рассказывать про до-диез.

Из откровенных ляпов наткнулся на рассказ о разнице между делегатами и событиями. Утверждается, что все их отличие - в том, что "при использовани событий не требуется описывать метод, регистрирующий обработчики, поскольку события поддерживают операции += и -=". Причем в примере, демонстрирующем переход от делегатов к событиям, += прекрасно используется именно для делегатов, а сам объект-делегат объявлен как public. Так что мне искренне жаль студентов, пытающихся понять, что же мешает использовать эти += с ним напрямую снаружи, не связываясь с инициализирующей функцией (правильный ответ - а ничего не мешает, но ломает инкапсуляцию, для сохранения которой в сочетании с экономией на коде на самом деле и придуманы события). Замечательный пример перепутывания причины и следствия.

Полное остутствие упоминания указателей на функции при вводе понятия делегата в сочетании с пассажем о том, что только с появлением лямбд C# приблизился к Паскалю, умевшему передавать функции как параметры еще в 92-м году, в целом как бы намекает.

По сумме впечатлений по-прежнему вижу лишь одну целевую аудиторию для адаптированных курсов - желающие сдать и забыть. Для потенциальных профессиональных разработчиков вариант "использовать как трамплин, чтоб потом перейти на правильные книги" выглядит не очень убедительно, лучше уж сразу потратиться на приличные классические учебники, в которых с самого начала можно надеяться на отсутствие авторских фантазий. Понятно, что "только хардкор, только Страуструп" подойдет не всем, но Липпман для С++ и Троелсен для С# - это практически оптимум.

 
теги: книги, студень  |  обсудить  |  все отзывы (0)  |  обсудить в LJ [3781]
назад «  » вперед

аналогичные материалы
неестественноинтеллектуальное // 29.09.23 16:50
викиисключительное // 20.05.20 21:20
террорноконтрамотное // 04.04.18 21:40
закопать стюардессу // 19.11.15 18:53
роботокурсовое // 18.06.15 03:18
турнирнокурсовое // 10.02.15 17:11
скорочтенное // 07.06.14 14:42
змейное // 03.06.14 23:41
гуглебучное // 17.05.13 12:38
преподавательское // 15.03.13 21:46
 
последние записи
ihrkampfное // 02.10.24 16:30
отпускное // 08.07.24 23:02
синхронное // 13.06.24 18:07
автоматизаторское // 16.05.24 18:12
песчаное // 13.03.24 18:05
макоудаленное // 29.01.24 23:10
разнонедельное // 07.12.23 15:09
qtменюшное // 29.09.23 23:47
неестественноинтеллектуальное // 29.09.23 16:50
основательное // 18.09.23 00:15


авто венгрия вырвиглаз германия глюки греция гуглемап драйверы египет железки журнализм империя добра испания италия кино кипр клоуны книги криворучки оспорт португалия программизм сайт софт стрим студень турция уродцы фото франция цацки чехия читалки android bq e51 eeepc from facebook hd2 hpc htc ipad iphone onlime vista windows 10 windows 7 windows 8 yota



Rambler's Top100
Рейтинг@Mail.ru



  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach