[WT] [Архив] [Поиск] [Главная] [Управление]
[Совместно с IIchan.ru]

[Назад]
Ответ в нить

Имя
Адрес  [sage] [noko]
Animapcha image [?]
Тема   (reply to 2146)
Сообщение
Файл 
Пароль  (для удаления файлов и сообщений)
  • Прежде чем постить, ознакомьтесь с правилами.
  • Поддерживаемые типы файлов: 7Z, BZ, GIF, JPG, MO, MP3, OGG, PDF, PNG, PSD, RAR, SVG, SWF, TXT, XCF, ZIP
  • Максимально допустимый размер файлов: 10000 кБ.
  • Изображения, размер которых превышает 200 на 200 пикселей, будут уменьшены.
  • Ныне 1369 unique user posts. Посмотреть каталог
  • Радио:

Файл: 127595426121.png-(260.47KB, 403x560, 6a49f5653b89e69fd620952f489d3f4d.png)
2146 No. 2146 watch
Приветики, Стив.

Решил освоить программирование вот. Надеюсь сей тред не нарушает тематику Разработоча.

Читал форумы и другие уютненькие, пришел в выводу что лучшим вариантом есмь изучение языка вроде Python (легкий синтаксис и быстрое освноение в целом) но при этом запастись книгами по алгоритмам и такому аля:

Вирт, Н. Алгоритмы + структуры данных = программы
Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Алгоритмы: построение и анализ

Может что порикаминдуешь, Стив?
Бэйсика основу и такого в школе учил, но там была легкота разная.
Развернуть все изображения
>> No. 2147
Вполне годно. Могу ещё sicp порекомендовать.
>> No. 2148
Открываешь KnR и читаешь. По ходу выполняешь все упражнения. Профит.
>> No. 2155
>Кормен, Т., Лейзерсон, Ч., Ривест, Р., Штайн, К. Алгоритмы: построение и анализ
Отличная книга.
Еще стоит Кнута глянуть.
>> No. 2156
http://www.swaroopch.com/notes/Python
Простой и понятный конспект, ничего лишнего.
>> No. 2157
Рекомендую метод Илоны Давыдовой: одновременное изучение и выполнение заданий на питоне и джаве. Очень хорошо мозги промывает от всякой чуши. Потом можно познакомиться с Си или С++ для более глубокого понимания работы памяти. Книги для начального уровня не так уж и отличаются друг от друга. Везде этот сраный метод пузырька.
>> No. 2161
Файл: 127642728332.jpg-(437.07KB, 600x750, 4ad9955258d5948938b359601b1592153346ae55.jpg)
2161
Надеюсь ОП не очень обидется если сделаю свой репост сюда. Он логично продолжит твой этап.

"Добрый Стив Балмер, помоги пожалуйста.
Дело в том, что я плохо знаю что сейчас творится средя ЯП, и возможно вышло что-то новое, более лучшее, поэтому спрошу:
Какой(ие) ЯП лучше всего использовать для создания разного софта?
Какой(ие) ЯП подойдут для написания игры (интересует как 2D так и 3D)?
Какой(ими) ЯП лучше создавать CMS для сайта с поддержкой БД?
Ну и знание каких ЯП требуется для нормальной работы фрилансером (то есть что сейчас востребовано, а что нет)?
Надеюсь на ответ. Заранее спасибо."

>>2157
Интересный метод. За счёт чего достигается эффект? Из-за схожести/различия синтаксиса и семантики, или ещё что-то?
>Везде этот сраный метод пузырька.
О да.
>> No. 2163
>Какой(ие) ЯП лучше всего использовать для создания разного софта?
Для разного софта - разные ЯП.
>Какой(ие) ЯП подойдут для написания игры (интересует как 2D так и 3D)?
C/C++ и какой-нибудь скриптовый, LUA например. Хотя когда баловался в школе - я, например, на Delphi ваял поделки всякие. Если занматься играми совсем серьёзно, то C++ надо знать - это точно.
>> No. 2164
>>2161
>Какой(ие) ЯП лучше всего использовать для создания разного софта?
Нет каких-то явных рекомендаций. Тут каждый использует то, что лучше знает и с чем наиболее продуктивен. Ограничения может накладывать платформа для которой пишется софт.

>Какой(ие) ЯП подойдут для написания игры (интересует как 2D так и 3D)?
В большом бизнесе сейчас гегемония C/C++ и это не измениться в ближайшее время. В догонку идет Lua, как самый распространенный скриптовый язык для игр, но на практике скриптовать можно на чем угодно.
Если тебя интересует разработка игр для веба, то тут в основном Flash или Unity3D.
Если занимаешься indie разработкой то тут тебя ничего не ограничивает кроме выбора платформы. Пишут на чем хотят.

>Какой(ими) ЯП лучше создавать CMS для сайта с поддержкой БД?
В вебе нет никакой разницы на чем написано веб приложение. Есть прекрасные решения на Python, Smalltalk, Ruby ,Lisp и других языках. Тут ограничения только в выборе хостинга, т.к. везде трёхгрошевый PHP/Perl хостинг.

>Ну и знание каких ЯП требуется для нормальной работы фрилансером (то есть что сейчас востребовано, а что нет)?
Тут больше всего вольности т.к. обычно заказчику все-равно на чем будет реализовано приложение.
Востребованность самая большая у Java и PHP кодеров, ибо дешевая рабочая сила.
>> No. 2165
>>2164
Вы так говорите, как будто perl - это что-то плохое.
>> No. 2166
>>2165
Перл - язык-клейкая лента.

Перлфаг
>> No. 2167
>>2156
А есть что-нибудь подобное для django?
>> No. 2168
Свои личные переживания о книжках по проге такие:
1. Керниган Риччи
2. "Дизайн и эволюция"
3. OCAML что конкретно не помню
4. С++ templates complete guide
>> No. 2169
Файл: 127696351789.jpg-(758.36KB, 1600x1200, f102c975067edbcf0a7efbd33ac6b0be3bcadc48.jpg)
2169
Спасибо всем за ваши ответы. Решил пока взять C++ и посмотрю Joomla!, а потом ещё C# и может дойду а я надеюсь что дойду до ассемблера. Кстати про C++. Какую реализацию лучше взять? Microsoft Visual C++ 2010 подойдёт? Просто помимо него есть только то-же самое версии 6.0. Я так понимаю надо смотреть учебники и материалы для Visual C++ .NET для получения информации по оному?
ОП.
>> No. 2170
>>2169
Как ни странно, Visual Studio имеет смысл взять помладше. Хотя для С++ пофиг, наверно.
>> No. 2171
>>2169
>Visual C++ .NET
Лучше платформу .net изучать вместе с C#

А плюсы — отдельно от .Net'a.
>> No. 2172
Файл: 127698577879.jpg-(1.42MB, 1772x2200, ballmer4.jpg)
2172
>>2169 Вижуал студию можешь ставить 2005 - не ошибешься.
>> No. 2173
>>2168
Ах, книги. http://www.comeaucomputing.com/booklist/ И это только минимум.
>> No. 2174
Файл: 127703332254.jpg-(97.64KB, 580x819, 7dacfc2d41839eec455e9dfce3ee8c22c60df2c3.jpg)
2174
Впринципе я и так думал взять Visual Studio более ранней версии, но 6.0 уже устарел, поэтому спасибо за совет. Кстати, если не стоит брать платформу .NET, то какую? Наверняка я получу ответ на этот вопрос после того как скачаю 2005 MSVS, но всё-таки. И чем так плох это .NET? Его не используют?
>> No. 2175
>>2174
> И чем так плох это .NET?
В обоих тредах тебе не советовали изучать C++ .NET, он же Managed C++. Это некое расширение C++, позволяющее писать .NET приложения на C++. Используется эта штука, в основном, только когда нужно подружить managed и unmanaged код (если нет более простых путей типа COM или DllImport). Писать чисто под .NET лучше на C# (по многим причинам). С++ .NET полон очень непростых конструкций и изучать его как первый язык — неразумно.

Теперь, если ты берёшься изучать чистый C++, то тебе, на самом деле, всё равно какую VS ставить. Даже VS6 пойдёт, хотя интерфейс там и староват. И .NET там нет, а рано или поздно тебе он пригодится. VS2005 поддерживает .NET 2.0 — а это самое то.

Что касается прокачивания скилла, то вспоминается фраза "Единственный способ научиться играть в шахматы — играть с более сильным противником." Хочешь научиться программировать — решай всё более и более сложные задачи. Могу даже подкинуть задачки для начала.

И да, не стоит недооценивать пузырёк. Он обладает некоторыми полезными свойствами, которые теряются при переходе на более быстрые алгоритмы.
>> No. 2176
>И чем так плох это .NET?

Он хорош, если тебе нужно по-быстрому наговнякать простую прожку. Чем более серьезный проект на нем пишешь, тем больше asspain.

ТС, Кормен - хороший выбор, еще неплохи Ахо-Ульман "Структуры данных" и "Построение алгоритмов" и обязательно прочти "Структура и интерпретация компьютерных программ"

Педон так себе язык, но куда лучше протухшего С++, про басик забудь, как про страшный сон.
Можешь курнуть хаски или ML, но для новичка scheme понятней (в sicp он и изучается) ну и пора уже напирать на матчасть: теория алгоритмов, теория языков в conputer science
>> No. 2179
Файл: 127723142058.jpg-(432.20KB, 950x800, 91b13554f62ad7363f4e8a5ead765e03675ac0de.jpg)
2179
>>2175
>Хочешь научиться программировать — решай всё более и более сложные задачи. Могу даже подкинуть задачки для начала.
>И да, не стоит недооценивать пузырёк. Он обладает некоторыми полезными свойствами, которые теряются при переходе на более быстрые алгоритмы.
А можно увидеть пример? Или меня пошлют в Гугл?
Приму с радостью, если тебе это не сложно.
>>2176
Спасибо за предложения и рекомендации книг. Матчасти действительно надо больше времени уделять.

Тем временем у меня докачался наконец MSVS 2005 и я нашёл учебник Айвора Хортона "Visual C++ 2005". Судя по всему он подойдёт для начала. Кстати там есть и про обычный Visual C++ (ISO/ANSI) и Visual С++.NET (ISO/CLI). Я ведь правильно понял? Там написаны разграничения где что. Просто я так и не смог найти нормальный учебник по Visual C++ 2005 - везде либо 6.0, либо 2008, или 2005.NET.
>> No. 2181
>>2179
Естественно вторая цитата ниже первого ответа, а не выше. Это такой фикс.
>> No. 2182
>>2179
>не смог найти нормальный учебник по Visual C++ 2005 - везде либо 6.0, либо 2008
wtf? Ты язык осваиваешь, или где какое окошко в кривой поделке? Берешь учебник по языку. Пишешь хелловролд. Компилируешь. Радуешься. Зачем вообще нужны книжки по средам?
>> No. 2183
>>2182
>Берешь учебник по языку. Пишешь хелловролд. Error. Переписываешь. Error. Находишь исходник. Error. Правишь исходник. Компилируешь. Радуешься.
>> No. 2184
>>2179
Как тебе уже написали, язык C++ один и тот же, что в VS6, что в VS2008. Собственно, это и есть стандарт языка ISO/ANSI. ISO/CLI (Common Language Infrastructure) — это расширение языка для .NET

Начни читать ту книгу, что есть. Будешь хотя бы понимать, что к чему в среде. Среда, Integrated development environment (IDE) — это и есть Visual Studio. Компиляторы языков находятся в отдельных exe-шках, которые вызываются средой. Можно напрямую скармливать свои программы компиляторам из командной строки, но это уже хардкор.

Что касается задач, то, в перспективе, тебе, конечно, надо браться за решение задач на джаджах, хотя бы со школьных соревнований. Но на этот уровень ещё нужно выйти. Поэтому, я могу предложить тебе следующее: прочитай книгу, напиши Hello World, потом напиши программу для меня. Она должна делать следующее: вводить число, определять, степень это двойки или нет, в зависимости от этого выводить "Yes" или "No". И запости эту программу сюда. Сделаешь?

А про пузырёк — у него есть такое свойство, как стабильность. Если два значения равны, то, отсортированные, они будут идти в том же порядке, что и на входе. Например, у тебя есть анкеты людей, отсортированные в каком-то трудно формализуемом генеалогическом порядке. Ты сортируешь их по фамилии. Если ты сделал это пузырьком, то на выходе сыновья будут идти после отца, как и на входе. А qsort превратит всё в кашу.
>> No. 2185
>>2184
int main(int argc, char *argv[])
{
int a;
cin >> a, cout << ( (a - 1)&a ? "NO" : "YES");
}
>> No. 2186
>>2185
Несколько замечаний:
- Функция main не возвращает значения, хотя и объявлена как int. Не все компиляторы разрешают это, да и вообще это плохой стиль. Напиши return 0;
- Я просил "Yes"/"No", ты выводишь "YES"/"NO". Неправильное написание строковых констант - причина более 9000 фейлов на соревнованиях программистов, да и в реальных проектах можно поиметь кучу проблем из-за этого. Внимательно читай спецификацию ввода/вывода.

Но саму проверку ты сделал правильно, малаца!

Вот ещё задачка: в файле input.txt в первой строке записано число N, в следующих N строках записаны слова, по одному в строке. Слова не длиннее 20 символов. Выведи повторяющиеся слова.
>> No. 2187
Плюсовики, объясните конструкцию
>( (a - 1)&a ? "NO" : "YES")

//недошарпер
>> No. 2188
>>2187
В C нет типа bool, true считается любое ненулевое значение (или ненулевая ссылка). Часто это используют для сравнения с нулём чего-либо вообще не связанного с логическими операциями, как в этой программе. Это забавно, мне раньше всегда это доставляло. Но это сильно ухудшает читабельность программы, поэтому я, со временем, от таких конструкций отказался.
>> No. 2189
>>2187
int a = Convert.ToInt32(Console.ReadLine());
Console.Write( ((a-1) & a) != 0?"No":"Yes");

держи тоже самое на с#
>> No. 2190
>>2189
Я бы написал так:
int a = int.Parse(Console.ReadLine());
Console.Write(((a - 1) & a) == 0 ? "Yes" : "No");
>> No. 2191
>>2189
Точный source-перевод

>>2190
source-перевод с логическим ходом мысли.

Всё правильно сделали.
>> No. 2192
>>2188
>>2190
>>2191

Спасибо, няшки.
>> No. 2193
>>2186
Я - не тот, кому ты давал задание. Опыт программирования на С++ имеется.
Во-вторых, возвращать или не возвращать - читай здесь http://stackoverflow.com/questions/204476/what-should-main-return-in-c-c например. Суть в том, что это вопрос стиля, и если стандарт позволяет опустить return 0; то плохой стиль - это писать то, что можно не писать и ничего не изменится.
И ещё, лучше не 0, а EXIT_SUCCESS.
А вывод я напутал, да. Бегло просмотрел и написал, мне это не так важно в данном случае.
Задачка про повторяющиеся слова - я ленивый, я бы std::map использовал.
>> No. 2194
>>2193
> Я - не тот, кому ты давал задание.
Ну и зачем ты всё заспойлерил? Не понимат.

> плохой стиль - это писать то, что можно не писать и ничего не изменится.
Самурай ковыряет в зубах зубочисткой, даже если ничего не ел.

> std::map
Никакого STL до поры до времени.

Начинающий-кун, отзовись. Интересно тебе решать мои задачки, или на этом и закончим?
>> No. 2196
>>2194
>Ну и зачем ты всё заспойлерил? Не понимат.
Да, поступил глупо, прошу прощения.

>Самурай ковыряет в зубах зубочисткой, даже если ничего не ел.
Ну и дурак. Мог бы вместо этого что-нибудь полезное сделать. Глупый самурай, сырно и то умнее.

>Никакого STL до поры до времени.
Это твоё условие к твоей же задачке или наставление такое для меня? Если условие, то во всяких acm и т.д. stl не запрещён. Если второе, то я даже не знаю, что ответить.
>> No. 2197
>>2196
> Глупый самурай, сырно и то умнее.
К сожалению, этот самурай умер 290 лет назад так и не услышав твоих слов.

> во всяких acm и т.д. stl не запрещён.
Главное не цель, главное — путь. STL можно пользоваться, когда ты понимаешь, как она устроена внутри.
>> No. 2203
>>2184
>Как тебе уже написали, язык C++ один и тот же, что в VS6, что в VS2008.
Совсем нет, в 2008 пофиксили много багов реализации, которые были в VS6. Аналогично, есть старые VS6 проекты, которые не будут работать в 2008.
Также, в 2010 например вообще добавили фичи из C++0x - лямбда-выражения, Rvalue ссылки и другое.
>> No. 2206
>>2203
>лямбда-выражения, Rvalue ссылки и другое.
И зачем это новичку?
[Назад]


Удалить сообщение []
Пароль  
[Mod]