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

Тема в разделе "WASM.HEAP", создана пользователем skales007, 11 янв 2018.

  1. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Шоб строки темплейтами криптовать, а не писать аж целую отдельную утиль для этого :)
     
    skales007, Fail и TermoSINteZ нравится это.
  2. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    310
    Хех. Неубедительные попытки оправдаться. Плюс к этому, по заданной формуле "по себе людей не судят", вижу двойные стандарты, а именно оправдание какой-то группы людей без веских на то причин исходя из своих личных взглядов. А самое смешное, что качество софтверной продукции AMD уже тянет на тяжёлый криминал. Явно криптолокеры в свободное время пилят забивая на основную работу. Из каких только сфер не встречал криминальных программеров. Если кодер из ex-USSR, то склонность к бандитизму увеличивается в 10 раз. Инфа сотка.

    P.S. По полюсам все понятно, овладеть полноценным ООП на Си++ практически невозможно на ранних этапах и толпы несостоявшихся кодеров идут грабить караваны. Начинать надо с Java, Javascript, Golang, .NET.
     
  3. Fail

    Fail Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2012
    Сообщения:
    503
    И с гордо поднятой головой получать копейки, зато типа "честный" и не "криминал". Аж прослезился:)

    ЗЫ

    Готов к закидыванию подушками:)
     
  4. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    > хотелось бы написать в будущем что-то вроде криптора, трояна,.

    С такой мотивацией точно удачи не будет. Беспричинное стремление ко злу. Так полагаю что данное направление как то интересно тс, у этого тоже есть причина. Врядле это возможно выяснить в данном случае. Крипторы и подобное это примитивный мусор, который пишется детьми, поэтому мотивация не понятна.
     
  5. skales007

    skales007 Member

    Публикаций:
    0
    Регистрация:
    9 янв 2018
    Сообщения:
    37
    На данный момент я вообще ничего написать не могу.
    Я не говорил, что это будет моей конечной точкой и направлением деятельности.
    К злу не стремлюсь, я не против заняться и чем-то противоположным. Вся суть в том, что хочется научиться писать, и писать что-нибудь действительно достойное, что-нибудь более близкое к системе.
    Indy_, поделитесь советом/опытом, как мне правильно действовать по вашему мнению?
    Сейчас пока читаю Юрова, есть непонятные моменты, но надеюсь, что понимание придет.
     
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    skales007,

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

    Только определившись с этими целями можно искать конкретный набор инфы. Не определившись с целями нет смысла выбирать, так как цель определяет какая инфа нужна. Написать же что то рабочее, тоесть собрать рабочий код, просто что бы заработало - для этого можно взять любой высокоуровневый компилер/язык.
     
    _edge нравится это.
  7. skales007

    skales007 Member

    Публикаций:
    0
    Регистрация:
    9 янв 2018
    Сообщения:
    37
    Indy_, хотелось бы заниматься все же программированием по Win. Соответственно углубиться в особенности ее архитектуры и т.п. Ну и конечной цели просто написать что-либо нет. Хочется именно понимать как это работает.
    Просто писать программы удел одного моего товарища, ищет куски готового кода, собирает их в кучку и готово. Меня такой подход не устраивает.
    Вирмейкинг в какой то части из-за этого и привлек, так как там приходится работать именно с "внутренностями", а не просто клепать готовый код (хотя и такое тоже постоянно встречается).
    Ещё раз повторюсь, что не против заниматься противоположным вирмейкингу. Но как я понимаю, чтобы со "злом" бороться, нужно знать как оно устроено.
     
  8. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    skales007,

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

    Поставьте себе более реальную цель. Если вам интересно устройство ОС, то установите отладчик, соберите приложение каким либо компилятором и начните его изучать. Любой нюанс описан, постепенно вы начнёте ориентироваться в этих дебрях. Но для этого нужно стремление и много времени.

    Не следует начинать с интерпретаторов и комиляторов, которые формируют код, в котором вы не сможите найти соотвествия. Первое знакомство например с дельфи навсегда сформирует у вас не корректные впечатления и понятие. Вы будите решать не исходную задачу, а как заставить компилер собрать решение. Поэтому для обучения годятся лишь нэйтивные языки, по типу пури, си или асм.
     
    _edge нравится это.
  9. skales007

    skales007 Member

    Публикаций:
    0
    Регистрация:
    9 янв 2018
    Сообщения:
    37
    Возможно это неправильно, но помимо изучения хотелось бы ещё своими руками что-то создавать, с пониманием процесса разумеется.
     
  10. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Инде правильно написал, добавлю чуть от себя.
    Есть задача (цель), есть масса различных вариантов её решения. Программирование заключается в нахождении оптимального по определённым критериям решения (скорость работы, объём ПО, экономия памяти, потраченные трудозатраты, переносимость между платформами) и перевод этого решения на понятный машине язык. Соответственно, формируются и требования к языку программирования и среде разработки. Какие-то языки лучше подходят для решения одних задач, какие-то - для других, нет универсального языка программирования.
    Программировать надо начинать постепенно. Ставите себе относительно простую задачу и решаете её, потом посложнее, потом ещё посложнее и т.д.
     
    Мановар, _edge и Mikl___ нравится это.
  11. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Мое лицо когда я ненастоящий кодер :dntknw:
     
  12. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    SadKo,

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

    skales007,

    > помимо изучения хотелось бы ещё своими руками что-то создавать

    Для начала нужно начать что то делать. Вы только спрашиваете, но ничего не делаете. И не можете сформулировать свою задачу, не понятно что вам нужно.
     
    skales007 нравится это.
  13. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    возьмите TinyC (TCC), скомпилируйте helloworld, откройте получившийся ЕХЕ в отладчике OllyDbg и проходите по шагам. появившиеся вопросы - гуглите. собственно, все. новые вопросы и новые ответы появятся сами собой.

    го компилить и дебажить :)
     
    2Hard2Forget, skales007 и Indy_ нравится это.
  14. skales007

    skales007 Member

    Публикаций:
    0
    Регистрация:
    9 янв 2018
    Сообщения:
    37
    Да я вроде бы стараюсь что-то делать, но похоже не то. Я ограничился одним только чтением книги и разбором примеров из нее. Как я вас понял, книгой по большей части нужно пользоваться как справочником. Благодарю за советы. Проблема в том и была, что не знаешь в какую сторону кинуться, одни говорят прочитай 100500 книг потом начинай писать и т.п. другие же говорят только писать и всё. Вот и оказался в тупике.
    Смысл в том, что как раз и хотелось услышать советы опытных людей, которые знают что говорят, так я попал сюда.
    Первое время пытался найти людей, которые поставят правильные задачи, которым можно примерно следовать и выполнять, потом осознал, что таких не найти (это логично). Но все же тут много отзывчивых людей, которые не отказали в совете.
    Теперь думаю, все же найду подход к самообучению. Надеюсь из этого что-то выйдет))
     
  15. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    skales007,

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

    Выберите простой яп, возьмите этот https://www.purebasic.com/

    Сишка думаю для начала не годится. Поищите доки по фундаментальным алгоритмам. Изучите минимальную инфу, примеры и соберите простой пример. Это положит начало цепочке событий.
     
  16. skales007

    skales007 Member

    Публикаций:
    0
    Регистрация:
    9 янв 2018
    Сообщения:
    37
    А если знаком с С++? Не стоит пока его трогать? Там я хоть без труда смогу усложнять себе примеры для изучения.
     
    Последнее редактирование: 4 фев 2018
  17. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Если бы вы знали кресты, то не задали бы данный вопрос. Возникает некоторое сомнение в вашем вопросе. Это либо троллинг, либо какие то тесты.
     
  18. skales007

    skales007 Member

    Публикаций:
    0
    Регистрация:
    9 янв 2018
    Сообщения:
    37
    Троллить ни в коем случае не думал. Как бы вам правильно объяснить, кресты я не знаю, я с ними знаком. Я могу написать простенькую консольную программу для каких то подсчетов, сравнения/изменения строк, понимаю что такое указатели и ссылки. Пытался однажды писать костыльный класс типа Vector C++. Поэтому и говорю, что мог бы себе на плюсах написать хеллоу ворлд и изучать его.
    Прошу прощения если ввел в заблуждение.
     
  19. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    310
    skales007,
    На C++ кодить круто, но так как он безграничен во внутреннем инструментарии, то как правило кодеры бездумно усложняют простые решения и строят вырвиглазные реализации.
    На этапе изучения, лучше всего сосредоточится на понимании самих принципов программирования, на решении конкретных задач.
    Начать с более ограниченных языков, которые уже были обозначены ранее, обязательно социализироваться с другими кодерами, чтобы влиться в эту среду.
    Переходить на C++ следует на поздних этапах развития, ошибочно делать это с самого начала, тут 100% можете мне поверить.
    Изучать низкоуровневые вопросы лучше всего параллельно, а не как основное направление, тогда вы проникнитесь пониманием намного глубже.
    Обязательно почитайте рекомендации Стива Макконнела, который говорит о простейших нюансах которым стоит следовать с использованием любого языка и особенно это касается C++.
    Процесс обучения всегда будет требовать пищи, сложностей, а это противоречит главному базисному принципу "снижение сложности", вот поэтому еще раз советую начать с языков, которые сильнее ограничивают. Ко всему концептуальные ошибки ООП C++ могут ввести в заблуждение и научить неправильному программированию, здесь проще с Java, так как там ошибиться намного сложнее.
     
    _edge нравится это.
  20. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    631
    Адрес:
    Russia
    Плюсы нафиг, пока в них *действительно* не возникнет необходимости. Модно затаскивать начинающих в них, делая с ними примерно то, что пейсал Дейкстра о Бейсике (но за это он заслуживает заточку в почку, ибо неправ)

    Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации.

    Purebasic лучше брать не самый свежий, т.к. в 5х версиях наворотили черт знает чего, имхо*. Есть группа с неплохими материалами, если вниз прокрутить, там и по Fasm информация есть -> https://vk.com/purebasic

    *забросил писать на нем, писал (лапшекодил) стратежку. Забросил, в том числе, из-за необходимости костылить объекты. Две крайности - байтолюбство vs ООП. Какую выберешь, Нео?

    ООП, рескурсии, структуры
    сгодятся только на смех курам,
    когда пред вами встанут коды
    всплывут утраченые годы

    Но в современном контексте даже не знаю, верно ли это утверждение..

    Уметь только в Асм нельзя. Нужно уметь и в ООП. И нужно *понимать*, как работает ООП на низком уровне. Без этого нормального кодеса не написать. Для этого как раз нужен Асм.
     
    Последнее редактирование: 4 фев 2018