Язык Go (Golang)

Тема в разделе "WASM.HEAP", создана пользователем Fail, 6 сен 2017.

  1. _DEN_

    _DEN_ DEN

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

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

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Справедливости ради замечу, что:
    Код (Text):
    1.  
    2. wget http://wasm.in/
    3.  
    у меня не заработал (завис). Полноценная ли WM?
     
  3. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Да у скриптописателей все так работает. Они почему-то решили, что результат их работы - это сорец и больше дрочат на то, где скобочки и звездочки ставить :)
     
  4. SadKo

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

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Three big lies in software development:
    http://cellperformance.beyond3d.com/articles/2008/03/three-big-lies.html
     
  5. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Дык не важно скрип не скрипт. Любая программа должна принимать на вход данные и выдавать результат. А значит она взаимодействует с открытым миром. А это означает, что программа не имеет защиты, так как внешний мир мы не контролируем и защититься от фальшивых данных не можем.

    Все эти RAII и так далее направлены на борьбу с внутренними врагами. Высокоуровеневые языки в первую очередь созданы для программирования программистов, а не программ.
     
  6. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    310
    Да, как правило VM пишут на С++, а это большая дыра в безопасности.
    Например тот же Google Chrome изобилует C++ конструкциями ООП, и полностью состоит из костылей и багов, самый дырявый браузер обошедший даже IE по итогам года. Я дико ржу с их правок в коде сравнивая diff'ы пятилетней давности.

    В вопросах безопасности интереснее рассматривать архитектурные решения, такие как Astra Linux, там действительно хорошая модель безопасности.
    https://xakep.ru/2015/09/15/astra-linux-se/
    Альтернативная ссылка https://forum.exploit.in/index.php?showtopic=23869&view=findpost&p=593768 )))
     
    Последнее редактирование: 31 дек 2017
  7. winnt_Ma$hka_x64

    winnt_Ma$hka_x64 New Member

    Публикаций:
    0
    Регистрация:
    9 янв 2018
    Сообщения:
    1
    ассемблер морально устарел, для несостоявшихся людей в высокоуровневых ЯП, вм-криптографию на плюсах пилят
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    я кстати до сих пор не могу понять, как плюсы могли обойти ту же Аду... ведь создатели Ады решили проблему с буффер оверфлоу
    в своем языке еще в годах 70-ых, в стандарте Ады 2012ого года появилось куча улучшений, связанных с парралелизмом... но все равно
    все свой гaвнокод пилят на пресловутых плюсах... одна Мазилла одумалась и запилила Раст, теперь потихоньку перепиливает свой
    браузер с плюсов на Раст...
     
  9. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.348
    Так вот почему все так нахваливают новые фаерфоксы?.. :)
     
  10. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    310
    У плюсов тотальнейшим просчетом является схема объявления класса с невозможностью скрыть внутреннюю реализацию. Как им только пришло в голову хранить private секцию класса рядом с public секцией? Это же вся суть, здесь должно быть абстрагирование.
    Это одна из причин почему практически все решения на С++ выглядят крайне ужасно, даже если сама реализация выполнена корректно. При этом в обычном процедурном подходе на Си элементарно разделяется public и private код без каких-либо заморочек, особенно удобно с использованием namespace'ов из C++. Возможно написание стандарта C++ как-то выпало на период пиковой активности наркотических веществ в США, тут можно только догадываться.
     
  11. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    [​IMG]
     
    TermoSINteZ нравится это.
  12. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    310
  13. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    310
    superakira, Да все нормально. Везде есть свои плюсы и минусы. Мои претензии к Си++ объективны и касаются фундаментальных вещей, которые давно решены во многих языках. Я люблю Си++ и поэтому не безразличен к этому динозавру.
    JS это не веб. Посмотри на продукты Mozilla, их GUI и логика написаны на JS через XPCOM Glue привязываясь к Native на C++. Шедеврально. У меня есть реализация GUI на JS под MSHTML, мне тогда не дали дописать до конца, но оно работает. В те времена люди даже не знали, что Skype на Webkit построен. Сегодня на JS реализовано огромное количество десктопных приложений и все морды антивирусов. Рендерить HTML и обрабатывать интерактив на JS в разы проще и эффективнее, огромнейшая база знаний из веб расширила свое влияние на обычные приложения.
     
  14. SadKo

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

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    А в линуксах стало модным клепать морды на питоне. Куда не глянешь - везде Python + Qt, при этом критический к производительности код по-прежнему пишется либо на C, либо на C++.
     
  15. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    проблема плюсов и сишечки как минимум в том, что они позволяют иметь undefined и unspecified поведение... со всяким архаичным бредом типа инклудов и интерпретатора хаскелла в метапрограммировании еще как то можно смериться... ярые адепты сишечки или плюсов, которые с пеной у рта её защищают на просторах интернета, не участвовали в больших проектах и никогда не кодили продукты для многоядерных систем... искать в чужом говнокоде на плюсах баг, который приводит к undefined поведению, или же фиксить race condition - это знаете ли еще то удовольствие...
     
  16. SadKo

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

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Rel, но вот не надо Си и Си++ под одну гребёнку гнать. Метакод Си++ ужасен. Код на Си же зачастую прост и понятен как дважды два.
     
    im. нравится это.
  17. Indy_

    Indy_ Well-Known Member

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

    > ассемблер морально устарел, для несостоявшихся людей в высокоуровневых ЯП

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

    По мойму обсуждение актуальности не имеет смысла, это совершенно разные области. Порог вхождения в системный коденг крайне высок, при этом обычная реализация высокоуровневых задач доступна даже детям - яп постоянно улучшаются, точнее делаются проще. Чтобы собрать примитивное рабочее апп не нужно ничего, кроме как кликать мышем по формам.
     
    Fail и im. нравится это.
  18. im.

    im. Active Member

    Публикаций:
    0
    Регистрация:
    16 сен 2017
    Сообщения:
    310
    Полезная в изучении ссылочка с прекрасным набором примеров.
    https://gobyexample.com

    Посмотрите с позиции решения проблем на Go, а не со списка его возможностей.
    Определенно простота и эффективность Go позволяет решать проблемы проще чем старые языки.

    Код (Text):
    1. whatAmI := func(i interface{}) {
    2.         switch t := i.(type) {
    3.         case bool:
    4.             fmt.Println("I'm a bool")
    5.         case int:
    6.             fmt.Println("I'm an int")
    7.         default:
    8.             fmt.Printf("Don't know type %T\n", t)
    9.         }
    10.     }
    11.     whatAmI(true)
    12.     whatAmI(1)
    13.     whatAmI("hey")
    14.  
    15.  
    16. $go run switch.go
    17. I'm a bool
    18. I'm an int
    19. Don't know type string
    20.  
    Наглядный пример рефлексии.
     
  19. superakira

    superakira Guest

    Публикаций:
    0
    Rel, ты уверен?) громкое заявление, но проверять я его конечно не буду.
    По факту мне все равно кто что думает на этот счет. Ибо все это холивар
     
  20. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    C++ после C++98 кто-нибудь вообще открывал? :)