CAMOKPYT: По-моему Вячеслав Плиско как раз не имел в виду госбюджетные проекты. Вы как-то преувеличиваете, как мне кажется. Повторюсь ещё раз - всякий сам выбирает, чем ему заниматься: фигнёй или чем-то полезным. Может быть, если бы вы выбрали себе какой-нибудь другой проект, то и взгляд на мир был бы несколько иным?
CAMOKPYT: В большинстве случаев так и выходит, нет смысла спорить. Но я предпочитаю смотреть на вещи более оптимистично. IT как таковые для развития общества необходимы. Очковтирательство и деньги из воздуха не являются непременными атрибутами отрасли. И чем именно заниматься в рамках IT - инстаграмами всех сортов или чем-то более полезным - решает каждый для себя сам. Это этический, а не технический вопрос.
Смотрите, что у вас получается. Сначала вызывается pay(), которая делает save(), т.е. сохраняет модель, даёт ей id. Ладно. Дальше запускается super(...).save(), которая опять сохраняет, причём сохраняя все аргументы, среди которых наверняка есть force_insert=True. Посему, прежде всего нужно, я думаю, отрефакторить код так, чтобы двух подряд сохранений не было.
Самокритика - это хорошее дело, но не думаю, что ваши слова относятся ко всем. Если бы мне не было интересно писать код - выбрал бы другую профессию. Копипасты и шаблонности стараюсь максимально избегать. Программа должна быть красивой. По крайней мере, к этому надо стремиться; а иначе какой смысл?
По поводу невозможности оценить вы также неправы; при желании измерить можно всё. Простейший пример - сравниваем показатели фирмы до внедрения софта и после: доходы, расходы, численность штата, количество переработок. Вот вам и эффект.
Насчёт пузыря и раздутости зарплат - согласен. В массовом сознании IT ассоциируются с инстаграммами; все рассуждают об очередной модной фигне с таким серьёзным видом: тренд технологий, куда там. Пузырь рано или поздно схлопнется, но конечный эффект будет только положительным. Станет очевидно, где чушь, а где полезные обществу вещи. Робототехника, онлайн-образование, искусственный интеллект, инженерный софт, авиационное и космическое ПО, автоматизация бизнеса - это всё никуда не денется. Специалисты, которые умеют писать код, а не только копипастить со StackOverflow, будут нужны ещё больше.
Именно так. В этом случае выборка очередной страницы делается одним SQL-запросом. Как построить этот запрос и индексы для него - сходу не подскажу, я не специалист по SQL; но убеждён, что сделать это можно.
Тогда зря решением отметили. Так всё же, когда у вас django dev server работает (через manage.py runserver) - статика работает? Или она ни так, ни этак не работает?
В таком случае, вам надо упомянутый ForeignKey заменить на OneToOneRelationField, если я правильно помню название. И назначить ему related_name="book". После этого всего лишь добавляете "book" в список list_display для LibraryAdmin и дело в шляпе.
Вам также придётся определить метод __unicode__ для Book с тем, чтобы он возвращал self.name. Иначе в списке в колонке Book будет написано нечто вроде Book object.
@FireGM Не уверен, что editable = False обеспечивает проверки на сервере. Назрела уже нужда в новой админке для Django, которая была бы более гибкой. В чём-то близкой к Flask AppBuilder.
Есть ещё метод has_change_permission; по смыслу подошёл бы; но он приведёт к тому, что инлайн вообще будет пустым. По мнению django-admin, "запрещено редактирование" = "запрещён просмотр". Это в некоторых случаях сильно мешает и заставляет писать велосипеды.
Знаю, что многие пробовали и у них получалось; кто-то и школьников на C обучал. Я бы не стал; много возни с памятью. Порог входа выше, чем у Паскаля. Это очень субъективно.
Можно и Паскаль, если угодно. В таком случае есть очень хорошая книжка Никлауса Вирта - "Алгоритмы + Структуры Данных = Программы". Это не Кнут, она гораздо доступней; но даёт понятие о типах данных, о структурах данных, всяких разных поисках и сортировках. Но опять же - это если у вас хватит мотивации. Пробуйте.
1. Что понимать под структурированностью? На мой взгляд, это есть минимальное количество сущностей, логичные и последовательные связи между ними. Паскаль очень хорошо структурирован и его очень хвалят для изучения программирования, но на мой взгляд заниматься им трудно, ибо нет библиотек и мало сообщество. Трудно на нём писать сейчас что-либо серьёзное.
Си - тоже вроде как хороший язык, очень простой. Но это если вы действительно хотите только и делать, что следить за ошибками памяти.
Почему Python хорошо структурирован? Потому что в нём мало сущностей, мало ключевых слов, в основе его лежат простые и понятные концепции.
2. Я не знаю Ruby. По примерам кода - у неё довольно сложный синтаксис, куда сложнее Питона.
3. C++ - очень сложный язык, его спецификация занимает тысячи страниц. Порог входа высокий. Думается, если вам реально понадобится C++, вы его выучите потом.