LINUX.ORG.RU

Обучение программированию

 , , ,


1

4

Привет, а есть желающие поучить меня программировать?=)

Вдруг, кто-то хотел поучить родственников или друзей, а не вышло, но желание обучать осталось.

Уровень: хеллоуворлдщик.
Код1, Код2

Для тех кому лень качать линки на pastebin:
код1_pastebin, код2_pastebin

PS. Не троллинг. Проблема с кодировкой из-за того, что код писался в оффтопике.



Последнее исправление: ChuCha (всего исправлений: 3)
Ответ на: комментарий от MyTrooName

Смешно, но факт, такой шанс, а я джаббер не осилил.

PS. Не шутка. Завел пиджин, попробовал добавить, насколько успешно неизвестно.

ChuCha
() автор топика
Ответ на: комментарий от MyTrooName

Отправил сообщение, хз, дошло нет. TKabber пишет ошибку — «служба не доступна» =(

ChuCha
() автор топика
Ответ на: комментарий от aedeph_

поздно, можно не вносить

З.Ы. Тема интересная

reprimand ★★★★★
()
Ответ на: комментарий от ChuCha

Вообще мне не принципиален язык

Ну не дано, что я могу ещё сказать.

умея программировать на одном

Это так мило, что прям щас расплачусь. Ну верь, верь дальше.

смогу на других

Ещё милее. Вера нулей во всякую херню так мила, и всё это во имя оправдания этой нулёвости. Удачи смочь.

Маздайскую говнометодичку - это какая?

Это по которой ты свои портянки ваял - это не си, это С/С++. Т.е. то крестовосовместимое убожество.

C++ не нравится.

Зря, ведь это единственная возможность без способностей не стать говнарём. Зря упускаешь.

TrueTsar1C
()
Ответ на: комментарий от ChuCha

Возьми Java, C#.

Очень много интересных задач решается с их помощью.

Если ты считаешь себя гиком, смотри в сторону Nemerle, Scala.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от ChuCha

Зачем забивать. Хочешь - делай. Зачем только повторять всякую херню где-то услышанную?

Дано влияет только на возможность уровня выше посредственного - на лоре вряд-ли наберётся даже 1такой. Это же не повод всё бросать и это же остальным тысяча, миллионом ваятелей не мешает мнить из себя илиту?

А про «на одном смогу - смогу на всех». Язык имеет свою специализацию и сам по себе ничего не значит. Значат твои знание и умения в этой прикладной специализации - язык, это средство реализации решения задачи, а решение-то в голове. Уровень сишки - это лоулевел, а уровень пхписта - это ничто. Вебчик иная гуйня не требует ничего - это ничего не требующий, гуманитарный загончик.

Это 2 совершенно разных мира. Ну научишься ты накидывать кнопочку на формачку, а толку? Это работает только в одном мире, а жизнь в другом мире абсолютно иная. Давай попроще - мир сишки - это опасный мир, который требует очень многого, а мир пхп - это такой радужный, безопасный мир с пони и радугой.

Ты живёшь либо в одном, либо во втором мире. Единственный язык, который более-менее их соединяет - это кресты. Поэтому если ты хочешь хоть когда-то смочь вернуться в реальный мир из мире эльфов, но юзать ништяки мира эльфов, то только кресты.

Кресты не дадут тебе потерять связь с реальным миром, во всех остальных случаях пацаны начинают терять связь с реальностью и для них их мир эльфов становиться реальностью, а в иную реальность они не верят.

В противном случае ты никогда больше не вернёшься. А уж из реальнольно мира в мир эльфов попасть ты можешь всегда.

Если ты выбрал себе гуйня-специализацию, то да насрать - вперёд. Меня не слушай - тебе пацаны из мара эльфов помогут больше, ибо мои знания о мире эльфов в районе нуля.

TrueTsar1C
()
Ответ на: комментарий от LongLiveUbuntu

Java интересно, потом можно набыдлокодить ненужный софт для андройда ради практики. Тем более на Си похож.

ChuCha
() автор топика
Ответ на: комментарий от TrueTsar1C

Спасибо, вообще это троллинг с моей стороны был, не ожидал такого ответа.

На пхп кодить никогда не собираюсь ибо не нужно. Из языков не компилируемых мне нравятся пока только питон и перл. С чего ты вообще вспомнил о пхп? Имелось в виду, если я научусь кодить на классике: Си, Паскаль, то на других языках не проблема научиться делать тоже самое. Как ты сам заметил, решение в голове. В некоторых случаях на бумаге.

Я хочу жить в том мире, где я научись писать хороший, сопровождаемый код и ко мне не пришел маньяк-убийца.

PS. Мир эльфов доставил=)

ChuCha
() автор топика
Ответ на: комментарий от ChuCha

Имелось в виду, если я научусь кодить на классике: Си, Паскаль

Нет, паскалятинка никакого отношения к реальному миру не имеет - это мусор. Кодить на си как на поскалятинке имеет столько же смысла, сколько и кодить на паскалятинке. И то кодить на уровне хелворда, а это абсолютно бесполезное умение.

С чего ты вообще вспомнил о пхп?

И паскаль пхп, и перл пхп, и пистон пхп. Всё это пхп. А пхп я вспомнил протому, что слоган пхп - программирование для домохозяйки. Вот все эти языки для этого и созданы, вернее некоторые созданы как скриптовые и я ничего против не не имею, как языки для врайтонли однострочников.

Как ты сам заметил, решение в голове.

Решение-то оно в голо, но понимаешь в чем штука - человека обучает среда, вернее заставляет учиться. Ни в паскале, ни в пхп, ни в пистоне, ни в жабке среда направлена не на решение, а на использование.

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

Я хочу жить в том мире, где я научись писать хороший, сопровождаемый код и ко мне не пришел маньяк-убийца.

Это в безопасные языки, либо если хочешь поближе к реальному миру - кресты.

Вообще идеальный вариант кресты. После изучения их ты либо уйдёшь в си, либо поймёшь, что не твоё и пойдёшь в безопасный мир, либо останешься на них. Но крестовая среда заставляешь хоть чутка думать и решать, а язык достаточно сложный всей своей лапшой и непонятками. Развивает мозги адепта.

Я не считаю, что есть какой-то смысл сливать своё время на какую-то маргинальщину, либо иной другой «академический» мусор. Бери реальную задачу, реальный язык и пили. Твои усилия не стоят ничего, пока ты не будет выдвать код на уровне.

Достичь этого достаточно просто. Все эти байки про первый и простой язык придуманы бездарями, аля автор паскалика, чтобы хоть как-то придать смысл своему бездарному высеру паскалятинке. И иными иконами нынешних илит, аля всякие там великий ОС-строители и эксперты, которые нихрена в своей жалкой жизни не сделали, но «академический» - это такое милое слово, которое любое говно наделяет полезностью.

Хотя вроде сишарпик такой, вменяемый. Ну по сравнению с жабкой. Я особо не вникал.

TrueTsar1C
()
Ответ на: комментарий от TrueTsar1C

Я ничего против ни паскаля, ни питона, ни перла не имею.

Я считаю нужно знать Си, а дальше, что по душе.

Мнение мое не поменялось, кресты мне нравиться больше от твоих слов не стали.

ChuCha
() автор топика
Ответ на: комментарий от ChuCha

паскалятинка никакого отношения к реальному миру не имеет - это мусор. Кодить на си как на поскалятинке имеет столько же смысла, сколько и кодить на паскалятинке. И то кодить на уровне хелворда, а это абсолютно бесполезное умение.

TrueTsar1C

Это пустобрех, так называемый «царь», не верь ни единому его слову.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Спасибо за совет, мне приятно, что старые пользователи беспокоятся о ньюфагах Лора.

ChuCha
() автор топика
Ответ на: комментарий от anonymous

А потом можно спокойно байто...ствовать, чем все и занимаются.

frugurt
()
Ответ на: комментарий от LongLiveUbuntu

Это пустобрех, так называемый «царь», не верь ни единому его слову.

А, дак это обосравшийся балабол из тему про «как читать указатели в сишке» или как-то так.

Прости, что пришёл и пошатнул ваши верования в ваше хоть какое-то понимание в теме. Такое бывает, что кукарекает, кукарекаешь - всех учишь, а потом приходит царь и бам - ты ламерок с порванной жопой.

Не обижайся, лапа. Иди дальше кооперируйся с ламерками, авось вместе, скопом, сможете на меня донести и ваши позоры выпилят.

TrueTsar1C
()
Ответ на: комментарий от TrueTsar1C

Лолка, покажи уже хоть одну работающую программу собственного изготовления. Парсер CSV напиши, хотя бы, порази всех.

А то так и будешь на указатели до мозолей дрочить.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Лолка, покажи уже хоть одну работающую программу собственного изготовления. Парсер CSV напиши, хотя бы, порази всех.

А то так и будешь на указатели до мозолей дрочить. Ой прости, забыл, что ты и этого не можешь.

TrueTsar1C
()

Алгоритмы. Построение и анализ. Кормен и др.

Кнут. Искусство программирования.

в обоих книгах найдешь все, что тебе нужно.

aiqu6Ait ★★★★
()

В чем прикол делать возвращаемым типом функции char и возвращать int? Кто тебя так научил?

unt1tled ★★★★
()
Ответ на: комментарий от unt1tled

На самом деле я забыл про boolean, и чтобы память экономить. Как бы 1 байта достаточно. Хотя bool занимает тоже 1, теперь буду его использовать. Спасибо

anonymous
()
Ответ на: комментарий от anonymous

никогда не слышал про выравнивание? и что не занимать слово в памяти полностью бывает дороже, чем использование типов ровно по границам?

unt1tled ★★★★
()
Ответ на: комментарий от TrueTsar1C

Неужели ты думаешь, что мнение школьника стоит больше чем шматок говна?

anonymous
()
Ответ на: комментарий от unt1tled

Причем тут выравнивание?
Вот это интересное замечание, никогда не задумывался, можно подробней, а еще лучше с примером.
А что быстрее будет, загруженный такт или программирование не обращая на это внимание?

ChuCha
() автор топика
Ответ на: комментарий от aiqu6Ait

Мне кажется для него это сложновато.

Пусть для начала «Конкретную математику» прочитает, того же Кнута, а после школы и за более объемные книжки берется.

Twissel ★★★★★
()

Молодец, что начал.

По крайней мере смысл в коде ты видишь, а остальное дело знаний и практики.

Доброго пути!

Twissel ★★★★★
()
Ответ на: комментарий от ChuCha

А что быстрее будет, загруженный такт или программирование не обращая на это внимание?

Быстрее будет, если данные начинаются с адреса, кратного слову конкретной машинной архитектуры (для x86 — 32 бита). Именно потому, что ЦП работает с целыми словами, а не с байтами и просто вычисление «неровного» адреса занимает дополнительное время.

Добавлено

Вот еще для общего развития можешь посмотреть хелловорлд, похожий на твой первый листинг:

Наноконкурс по Си :)

Twissel ★★★★★
()
Последнее исправление: Twissel (всего исправлений: 2)
Ответ на: комментарий от ChuCha

Причем тут выравнивание?

Процессору все равно, будет там 1 бит, 8 или 32, если регистры 32 битные. Оно все равно фетчит в регистр 32 бита (на 32 битной архитектуре). И лучше всего оно это делает именно на словах, а не на полусловах или одном бите.

Вот это интересное замечание, никогда не задумывался, можно подробней, а еще лучше с примером.

Вообще, все у тебя по дефолту выровняется, независимо от типа, до верхней границы слова. Но если данные «в пакете», например из сети, то тот же int может лежать на границе слов и тогда процессору понадобится несколько инструкций вместо одной, чтобы этот int загрузить в регистр + шифт. Это в лучшем случае. В худшем схватишь «bus error».

А что быстрее будет, загруженный такт или программирование не обращая на это внимание?

На хелловорлдах лучше игнорировать и писать так, как лучше читается и не заниматься оптимизациями, которых не понимаешь. А, например, на микроконтроллерах или когда работаешь с сетью, такие вещи надо знать. Но это уже когда до уровня ассемблера дойдешь.

unt1tled ★★★★
()
Ответ на: комментарий от aiqu6Ait

Дык, он с него и начинал.

Просто дяденьки на ЛОРе видимо сказали, что если начнешь с Си, то борода уже в 12 лет вырастёть, густая и окладистая :-D

Twissel ★★★★★
()
Последнее исправление: Twissel (всего исправлений: 1)
Ответ на: комментарий от anonymous

И, кстати, какой нафиг bool в сишке? Если ты про C99, то AFAIK там

#define true 1
#define false 0
unt1tled ★★★★
()
Ответ на: комментарий от Twissel

Вообще я начинал так-то с Си, паскаль ради алгоритмов, потому что в Си много тонкостей.

ChuCha
() автор топика

Пипец, и гуру Си исчез, испарился, оставив без ответа мой вопрос :( На словах он Ритчи Деннис, а на деле бычий пенис

grimwaken
()
Ответ на: комментарий от ChuCha

Ну тогда, яхонтовый мой, советую почитать Кернигана и Ритчи.

А потом хотя бы бегло Р. Седжика по алгоритмам, потом Кормен, там более строгое, формализированное изложение, больше математики.

P.S. И, кстати, 11 лет назад тыкая Турбо Паскаль тоже задался вопросом, что такое выравнивание и уже чуть позже прочитал, что это размещение данных по адресам ОЗУ, кратным слову. А слово, соотвественно, это количество байт, которое может быть считанно или записанно за одну машинную операцию, читай такт.

Конечно, об этом уже писали, но если еще раз «разжую», думаю лишним это не будет.

Twissel ★★★★★
()
Последнее исправление: Twissel (всего исправлений: 3)
Ответ на: комментарий от ChuCha

Но если ты в 10 начал учить Сишку, то к 12 она у тебя будет как в 25.

З.Ы. Кто не понял, это юмор у меня такой )))

Twissel ★★★★★
()
Ответ на: комментарий от Twissel

Спасибо за разжевывание, Седжвик есть, обязательно прочитаю, K&R есть тоже.

ChuCha
() автор топика
Ответ на: комментарий от unt1tled

Вообще, все у тебя по дефолту выровняется, независимо от типа, до верхней границы слова.

Куллстори.

Вот пацан козёл - не выравнял булы. Как же он мог.

которых не понимаешь

Сказал пацан, у которого байтики выравниваются, а выравнивание случилось по «границе слова». Ну ничего, на уровне днище мб сойдёшь за эксперта.

TrueTsar1C
()
Ответ на: комментарий от grimwaken

Откуда я знаю как вам, пацанам, с посредственными способностями его учить. Для вас есть соответствующая лит-ра.

использовать Си

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

Лично я использую си как язык, который а) обладает мощностью и гибкостью недоступной иному мусору, б) не обременяет меня всякими ненужными сущностями, которые заслоняют мой код тоннами неведомой неуправляемой логикой и мусора на уровне языка. в) не заставляет на уровне языка меня юзать какое-то неведомое и неюзабельное, неуправляемое говно. г) обладает компактным, красивым минималистичным синтаксисом, а не говном с кастылями для УО.

Ну и конечно же остальные плюсы, аля популярность, совместимость, интегрированность и логичность. Одни плюсы по сравнению с иным мусором, мне лень всё перечислять.

Зачем же юзать рандомному заедуваятелю я не знаю, если этого не требуют обстоятельства. Поэтому порекомендовать ничего не могу - меня это не интересует.

TrueTsar1C
()
Ответ на: комментарий от Twissel

Быстрее будет, если данные начинаются с адреса, кратного слову конкретной машинной архитектуры (для x86 — 32 бита).

Вот я уже не раз замечаю, что вы откуда-то набрались всякой херни, наверное по нулёвой макулатуре про турбопаскаль.

Зачем же им начинаться с адреса, кратного слову конкретной машинной архитектуры?

Именно потому, что ЦП работает с целыми словами

Ладно, представление о ЦП мы оставим.

А теперь подумай, если ЦП работает с целыми словами, а ты читаешь байт, то какая разница кратный ли адрес у байта или нет.

Так же с 2-мя байтами. Если ты подумаешь, то возможно сможешь вывести правильную формулу - выравнивание нужно по границе ширины читаемого «слова/байта».

а не с байтами

Такие куллстори.

просто вычисление «неровного» адреса занимает дополнительное время.

Эти куллстори, а теперь подумаем ещё раз. Если процессор работает с целыми словами, то зачем ему вычислять адрес, если он его не может обработать. Правильно - он читает по маске.

А теперь ещё раз - процессор читает «словами», а пацан прочитал слово с заходом на границу. Почему же оно тормазит? 100% из-за агу.

TrueTsar1C
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.