LINUX.ORG.RU

чистый Си

 


2

3

Всем добра. Учусь программированию под линукс, знаю что нет ничего лучше чем практика. Пересел из микроконтроллеров, поэтому практически все нужно осваивать заново. Много гуглил но так и не смог найти примеры работы как загрузить веб контент, json или код html, и cookie на чистом си под линукс. а также как отправлять cookie. Киньте пример или ссылку на него, только рабочий пример пожалуйста, так как для меня это новые ворота.

Ответ на: комментарий от casusnur

Юноша, вы всегда настолько тупы или специально для этого обсуждения стараетесь?

Сделали на PHP то, чего не может добиться 99% работающих в WWW компаний. И когда стали №1 в своей нише с нагрузками, которые больше в этой нише никому не снились, постепенно нашли способ ускорить свою _существующую_ кодовую базу. Без тотального переписывания не что-то другое. Даже переход с PHP на Hack — это совсем не тотальное переписывание.

Стартуй Цукерберг с чистого С, а не с PHP, никакой Facebook бы на свет вообще не получился бы.

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

Ну и про мейнфреймы тоже примеров бы хотелось бы. А то может оказаться, что на C там интерпретатор Rexx-а написан 30 лет назад.

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

Зачем нормальному сишнику веб на си? Он же не идиот.

Я так и написал, никому, кроме упоротых :)))

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

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

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

А на С пишется абсолютно все: от микроконтроллеров до мейнфреймов!

Пишу на С++ для контроллеров, примеряюсь к расту. Брат жив.

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

5-7 часов

*равноценно неделе сишника

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

Вообще-то чем язык проще, тем больше ошибок будет в коде на нём

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

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

Вообще-то...

Это парадигма программирования для человека, а не человек для парадигмы. Не в состоянии пользоваться имеющимися средствами для реализации парадигмы и/или идей? Ну, значит, не всем дано. Язык тут не виноват. Он тут ни при чём.

Moisha_Liberman ★★
()
Ответ на: Вообще-то... от Moisha_Liberman

Не в состоянии пользоваться имеющимися средствами для реализации парадигмы и/или идей? Ну, значит, не всем дано. Язык тут не виноват. Он тут ни при чём.

Да что вы говорите?!!!

Ну вот нет в чистом C сборки мусора, иммутабельности, лямбда-функций, алгебраических типов данных и паттерн-матчинга. И вы всерьез будете утверждать, что на C можно программировать в функциональном стиле? А кто не может сделать на С простейшее карирование функций — то это просто не дано, а язык тут не при чем?

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

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

Тссс... Аноним!

Батенька, ну право, аккуратнее! Это же инторнеты эти ваши! Не ровен час услышит кто!

Да Вам лично этим «китайским макакам» надо поклоны земные бить, т.к. не будь в природе этих самых «китайских макак», сидели бы Вы (лично Вы!) и без железа и без дров к нему. В лучшем случае на каком-нибудь i686 9и то ещё хорошо). При всём Вашем (кажущемся) уме и сообразительности. Потому что эти самые «китайские макаки» херачат железо от HP и до их родного Хуавея, включая и тот же Медиатек/Реалтек/... (тыщщи их, подставьте по вкусу) а у нас, в великой стране не западло взять тот же Хуавей, криво налепить на него наклейки нашей, российской конторы и продать как своё, российское.

Вот и получается что «китайские макаки» замахиваются сейчас на электромобили и прочий энерготранспорт, а у нас в Сколково (лично это позорище видел) испытывают летающее такси на базе говно-китаского дрона, который не летуч в наших условиях оказался. Не на питоне там управление часом было написано, не подскажете? Или всё-таки на джаваскрипте? А то, я слышал, Node.js иной раз в эмбеддинг пытаются запихнуть...

Чё от дураков ждать-то?

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

Вы не можете создать лямбду?

Нате, чтоб мне не вставать с места — https://blog.noctua-software.com/c-lambda.html А чувак по ссылке почему-то может...

Про сборку мусора это вообще отдельное «ха-ха». Т.е., программист оказывается тупее бота? Ну или механизма, который ему жопу должен подтирать... Как же вы, мне просто интересно, в сортире-то справляетесь? Сами, али зовёте кого на подмогу? =)))

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

Moisha_Liberman ★★
()
Ответ на: Тссс... Аноним! от Moisha_Liberman

Node.js иной раз в эмбеддинг

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

anonymous
()
Ответ на: Вы не можете создать лямбду? от Moisha_Liberman

https://blog.noctua-software.com/c-lambda.html А чувак по ссылке почему-то может...

Проссыте, вы вообще дебил?

This trick relies on two C extensions: nested functions and statement expressions. Both are available in gcc (but not in clang!)

Не может чистый С в лямбды. Только если его напильником допилить.

Карирование на чистом C покажете? Для произвольных типов аргументов. В том числе и размещенных в динамической памяти?

Или вы продолжите звиздеть про неасиляторов, асилятор вы наш?

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

нет в чистом C лямбда-функций

Если знать, что лямбды это сахарок к анонимным классам, и знать как такой сахарок реализовать, то лямбда функции сразу появляются в С :)

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

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

Если знать, что лямбды это сахарок к анонимным классам, и знать как такой сахарок реализовать, то лямбда функции сразу появляются в С :)

Бла-бла-бла. Даже если вы опишите структурку и функцию apply для нее, то дальше-то что?

ну не изменяй данные, вот тебе и иммутабельность

И вот так вот у сишников все.

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

По голове... =)))

нужно чтобы компилятор по рукам бил?

Нужно чтобы по голове и по-взросленькому так, вертушечкой да с разворота. Иначе, боюсь, не дойдёт... =)))

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

Батенька!

Вы меня простите, я Вам, конечно же не модератор, но боюсь что дебил здесь только Вы. Ибо Вы не осилили прочесть код, который там приведён и упёрлись в текстовуху. А по факту у мужика того эти ваши лямбы есть, он их умеет. А Вы... Да кому какая разница что там Вы? =) Проблемы индейцев, в конечном итоге это просто проблемы индейцев... =)))

Говорят, в таких случаях как у Вас жидкий азот хорошо помогает сбить температуру в районе пукана. Сам не проверял, мне незачем, но Вам бы посоветовал. А то, неровен час, придётся ещё пожарных вызывать, т.к. в начале загорится стул, а потом всё помещение на хрен выгорит... =)))

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

Ясно.

Открыта новая парадигма — «херак, херак и в продакшон». Ну тогда не удивляйтесь больше ни чему. =)

Moisha_Liberman ★★
()
Ответ на: Батенька! от Moisha_Liberman

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

Я пробовал, долго и упорно. Очень отрезвило. Ты, если продолжаешь в это верить, - нет.

anonymous
()
Ответ на: Батенька! от Moisha_Liberman

Любезный, весь ваш словесный понос указывает лишь на одно: как только дело дошло не до влажных фантазий сишников-всемогутеров, а до конкретных примеров кода, вы жиденько обделались.

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

Примера с каррингом (а это самая, что ни есть, базовая штука для ФП) вы привести не можете.

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

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

Без соотв. атрибута?

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

Именно на чистоту нет, не будет. gcc будет применять оптимизации соответственно запрошенному уровню (-О0 — -О3), но на чистоту проверять не будет. А дальше уже вопросы к оптимизатору gcc что именно и как он там соптимизирует и соптимизирует ли.

Именно по этой причине в gcc есть так называемые gccизмы, которые не являются частью стандарта языка С, но которые позволяют решать какие-то задачи. Правда, не факт что со временем эти самые gccизмы не будут включены в стандарт, но это уже вопросы к Комитету.

Moisha_Liberman ★★
()
Ответ на: Тссс... Аноним! от Moisha_Liberman

Да Вам лично этим «китайским макакам» надо поклоны земные бить, т.к. не будь в природе этих самых «китайских макак», сидели бы Вы (лично Вы!) и без железа и без дров к нему.

А не будь php-макак, и без веба бы сидели! Ну что поделаешь, китайские макаки дешёвые и трудолюбивые.

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

Милейший...

Я не спорю с идиотами. Сперва они постараются опустить Вас на свой уровень, а потом просто задавить опытом.

С человеком, обиженным языком С (или сишниками?), который рассматривает всё через призму «а вот у сишников всё вот так», мне спорить не о чем. Трата времени. Какой бы код ни был приведён, он не удовлетворит Ваш изысканный вкус.

Я пойду лучше код попишу, да денег себе заработаю. И своим бойцам, которым надо з/п платить. А цены в треде озвучены. Вы же можете дальше сидеть и кукситься от обиды.

Правда, я бы задал тут вопрос что же такого сделали с Вами сишники, но боюсь услышать ответ и поэтому вопроса задавать не буду. =)))

Пожалуй, с Вами всё. Точка.

Moisha_Liberman ★★
()
Ответ на: Вы не можете создать лямбду? от Moisha_Liberman

Про сборку мусора это вообще отдельное «ха-ха». Т.е., программист оказывается тупее бота? Ну или механизма, который ему жопу должен подтирать... Как же вы, мне просто интересно, в сортире-то справляетесь? Сами, али зовёте кого на подмогу? =)))

Нормальная прикладуха на С/С++ начинается со изобретения способа подтирки жопы.

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

Не уверен.

Кто бы сидел, а кто бы и нет... Пока ни похапе, ни альтернативы не показывают ни чего такого, чего не было бы в CGI. И, тем более, в FastCGI. Увы и ах.

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

Я же говорю — не всем дано.

Мало того, что есть чужой код, так ещё и свой есть, своя наколенщина. И что? Кто-то просто пишет код (привет ядру, привет веб-серверам и их модулям), а кому-то надо чтоб за него сделали работу. Ибо сам не способен. Вот и всё.

Moisha_Liberman ★★
()
Ответ на: Не уверен. от Moisha_Liberman

А большинство сайтов на чём написано? Даже этот изначально на чём написан был?

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

А! Помню-помню!

Была в своё время такая мулька. Особо умные всё говорили «да я найму десяток студентов по $200 в месяц на рыло». Теперь бы вот найти тех умников и их компании...

Впрочем, знаю одного такого. Чёт у него не фартануло, сидит, проклинает Сами Знаете Кого... Странно... Студенты ему на рельсах писали, а виноват... опять_н...

Moisha_Liberman ★★
()
Ответ на: Тссс... Аноним! от Moisha_Liberman

При всём Вашем (кажущемся) уме и сообразительности. Потому что эти самые «китайские макаки» херачат железо от HP и до их родного Хуавея, включая и тот же Медиатек/Реалтек/... (тыщщи их, подставьте по вкусу) а у нас, в великой стране не западло взять тот же Хуавей, криво налепить на него наклейки нашей, российской конторы и продать как своё, российское.

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

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

Этот вопрос уже обсуждался выше.

По второму кругу? Но помилуйте! Я же сишник... А мы глупостями не занимаемся. =)))

Moisha_Liberman ★★
()
Ответ на: Милейший... от Moisha_Liberman

Сперва они постараются опустить Вас на свой уровень, а потом просто задавить опытом.

Любезный, если вы так пытаетесь рассказать про то, что у вас есть какой-то там интеллектуальный уровень или опыт, то этим вы только тешите свое самолюбие, не более того.

По факту же получается следующее: вы здесь назвиздели кучу камментов про то, как на C можно делать разное. Но именно что назвиздели, т.к. показать как хоть что-то можно сделать, не смогли. Что очень характерно для высокомерных форумных звездунов из категории «у меня опыт и куча забот, мне некогда объяснять что-то плебсу».

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

А вот то, что вы дальше C уйти не смогли — это показательно.

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

Нет. Я ни чего не пытаюсь Вам рассказать.

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

Хорошо. Тогда я вынужден у Вас спросить любите ли Вы секс и знаете ли Вы дорогу? В последнем, кстати, не сомневаюсь.

Ну и только пожелать Вам счастливого пути.

Moisha_Liberman ★★
()
Ответ на: А! Помню-помню! от Moisha_Liberman

Впрочем, знаю одного такого. Чёт у него не фартануло, сидит, проклинает Сами Знаете Кого... Странно... Студенты ему на рельсах писали, а виноват... опять_н...

Какой-то поток сознания. Вы сейчас вообще о чем?

eao197 ★★★★★
()
Ответ на: Не уверен. от Moisha_Liberman

Пока ни похапе, ни альтернативы не показывают ни чего такого, чего не было бы в CGI. И, тем более, в FastCGI. Увы и ах.

Они (похапе и альтернативы) показывают применимость кодерами, которые пишут сайты «не приходя в сознание».

Пока миру не явят более «прямой» и при этом доступный и экономически выгодный способ «ваять интернеты», «похапе и альтернативы» будут безальтернативны (сорри за каламбур), как бы не хотелось от этого блевать...

yyk ★★★★★
()
Последнее исправление: yyk (всего исправлений: 1)
Ответ на: Нет. Я ни чего не пытаюсь Вам рассказать. от Moisha_Liberman

После того, как Вы «не заметили» кода, позволяющего реализовать лямбды, мне всё стало кристально ясно

Да у вас еще и с логикой проблемы.

Код с лямбдами я заметил. А еще я заметил, что этот код получается не на чистом С.

Но раз вы не понимаете, то в очередной раз: по приведенной вами ссылке код, который использует _нестандартные_ расширения из компилятора GCC. Поэтому этот код не может считаться кодом на чистом С.

Если вам еще что-то непонятно, то не стесняйтесь, спросите.

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

Если честно...

То лет нцать назад оопешники говорили императивщикам типа «фу такими немодными быть, то ли дело у нас, в объектах». Я тогда ухмылялся, говоря что вот погодите, придут другие парни, с другой парадигмой наперевес. Так и случиось, пришли функциональщики. И оопешникам небо с овчинку показалось.

Отсюда два вывода. Первый — да и хрен с ним. Я как-то, как писал на С, так и пишу. И второй — функциональщики это ещё полбеды. Оопешников пережили и этих переживём. Но если честно, то вообще-то, парадигм херова гора и с чем в индустрию придут (а они придут не сомневайтесь) те, кто сейчас сидит и учится в горшок прицельно гадить в детсаду, вот это будет весело. Тогда ссаными тапками будут и оопешноков и функциональщиков гонять. Толпами.

Правда, скорее всего, сишники как писали, так и писать будут. Но хоть поржём... =)))

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: Нет. Я ни чего не пытаюсь Вам рассказать. от Moisha_Liberman

Ну и только пожелать Вам счастливого пути.

Постойте, а где же реализация карринга на чистом С?

Ну как же без этого. Этож получается, что про ФП на чистом С вы всем наврали?

Или вы сами из этих... Ну которым просто не дано.

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

У Вас есть домашний роутер?

Откройте его веб-интерфейс? На полном серьёзе думаете что там Джанго (освобождённый?). Скорее всего, там будет что-то производное от Linux и вся эта веб-конфигурилка в этом вашем роутере это голимый С.

Теперь посмотрите набор микрух. И представьте себе сколько зарабатывают эти... «чОткие пацанчики». Даже в случае сраного Медиатека или Ралинка какого-нибудь, у которых их родной SDK это просто звиздец на взлёте.

Прямо вот так, да... Не вставая с места...

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: У Вас есть домашний роутер? от Moisha_Liberman

Ну и зачем ты мне рассказываешь таблицу умножения? Да, си везде. И на нём и сервера и браузеры и всё что между. И те самые пыхи с питонами и v8. Но это всё инструменты. Вся вебота - пыхи с джиэсом, и на си там только рукоблудие упоротых. И си там не место ни под какими веществами.

yyk ★★★★★
()
Ответ на: У Вас есть домашний роутер? от Moisha_Liberman

Скорее всего, там будет что-то производное от Linux и вся эта веб-конфигурилка в этом вашем роутере это голимый С.

Или shell вперемешку с питоном и перлом. Точнее почти всегда там shell вперемешку с питоном и перлом.

anonymous
()
Ответ на: У Вас есть домашний роутер? от Moisha_Liberman

Откройте его веб-интерфейс? На полном серьёзе думаете что там Джанго (освобождённый?).

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

И представьте себе сколько зарабатывают эти

Все, бредит. Причем здесь микрухи вообще. Но и если так то - https://www.calc.ru/2454.TW-kapitalizaciya.html https://www.calc.ru/INTC-kapitalizaciya.html и вот https://www.calc.ru/FB-kapitalizaciya.html - без всякого Си https://www.calc.ru/MSFT-kapitalizaciya.html

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

Да, по сути, вопрос не в тошноте.

Вопрос в том, сколько железа надо для обслуживания того или иного решения. Вот прямо сейчас пилю как пет-проект сравнительно простую фигню для диабетиков. Типа «дневника» по назначенным лекарствам и показаниям глюкометра. Всё просто. RESTful API с libevent. Как оно пойдёт и пойдёт ли, я не знаю в принципе. Просто внезапно так выяснил что оказывается у меня лично есть среди знакомых дохера больных этой пакостью (инсулинонезависимые, второго типа) и есть врачи, которые тоже знакомые. Вот и порешил их свести воедино. Одни публикуютсвои данные, воторые их обрабатывают и назначают какую-то терапию. Прямо сейчас позволить себе выставить десяток-другой серваков под это дело просто не могу.

Может, но похапе оно было бы и проще. Но... я считаю свои деньги. В данном и опять же конкретном случае.

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

И lua, про lua не забывайте.

Кстати, да. LuCI в OpenWRT и LEDE.

i-rinat ★★★★★
()
Ответ на: комментарий от oldstable

Очевидно, что дело не в нагрузке, а в зацикленности на C. Поциент, возможно, ничего другого и не пробовал никогда.

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

"Поздравляю, Шарик, ты балбес." (c)

Откройте исходники OpenWRT и убедитесь в этом сами. LUCI, упоминания о котором я и ждал, если честно, не работает без директивы require «uci». Т.е., функция получения состояния интерфейса типа

local function getState(iface, targetState)
  return uci:get("network", iface, "disabled") ~= "1"
end

Без этого самого uci это просто ни о чём. И вот о чём тогда с вами, идиотами, спорить если вы даже не понимаете как устроена прошивка в вашем долбаном домашнем роутере?

Какие ту на фиг «парадигмы», «идеи», вот это вот всё? Тут балбесам приходится объяснять что в том же OpenWRT как устроено...

https://openwrt.org/packages/pkgdata/lua — смотрим на зависимости.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.