Sasha Tsikhun
почему-то ругается на buf.. - не понимаю, что это
Andrii
У тебя переменная const char * (неизменяемая строка), а ты хочешь из неё сделать char * (изменяемую строку). Во и ругается
Sasha Tsikhun
а как правильно инициализировать масив чаров?
Andrii
Поэтому я просто делал статическую переменную. Например,
char buf[] = "des jieod";
Andrii
Массив чаров можно инициализировать строковой константой
Andrii
char buf[] = "des jieod";
Вот, например, так.
Andrii
Но можно и так char buf[8] = "1234567";
Jahongir
Sasha Tsikhun
Andrii
Andrii
Если брать мой кот, то он как раз меняет, выводит
Alexander
а мой кот спит
Andrii
Sasha Tsikhun
)
Andrii
Моя тож
Andrii
У москальщині москаль,
Полюбляє свій паскаль,
В Україні ми усі
Програмуємо на сі.
Andrii
Это ещё во временя DOS (90-е) было
Sasha Tsikhun
ахах, прикоольно)
Mykola
Abai Batyrkhan
А в украине,какой самый популярный язык программирования?
Лера
Mykola
Abai Batyrkhan
c++,с#?
Ikrom
Sasha Tsikhun
Sasha Tsikhun
c++,с#?
очень много заявок на универы дают (по-сути тОлько ++ и #) (на данный момент)
Ikrom
Andrii
c++,с#?
Плюсы есть, но не очень много... C# мне совсем неинтересен, чтобы на стеке M$ работать постоянно, чтобы меня это вынудить надо овердофига денег
Mykola
Abai Batyrkhan
В укриане,зп среди программистов какая?
Andrii
Меня приглашали на собеседование с з/п $10k за embedded (израильский стартап).
Mykola
Mykola
Чому відмовились?
Abai Batyrkhan
Борисов
Судя по статье - https://ain.ua/ru/2021/01/11/zarplaty-ukrainskix-programmistov-zima-2021/ - цифры меньше ))
Abai Batyrkhan
10 баксов в переводе в гривны это 2млн гривен?
Abai Batyrkhan
А на работе в украине,требуют английский ?
Mykola
Andrii
Чому відмовились?
Ну... по-перше, у мене чотирьохденний робочий тиждень. Декілька тисяч не окуповують. По-друге, тут стартап в якому мені запропонували опціон (у США вже реєструється фірма для виходу на IPO). У мене ніколи такого не було
Andrii
Andrii
Ну и ain.ua вообще не тот ресурс, где тусуются айтишники
Борисов
Главное, не судить по своему окружению)
Борисов
Оно вполне возможно, что N процентов разрабов получают очень хорошо) А остальные несколько поменьше
Mykola
Andrii
Главное, не судить по своему окружению)
Почему? Понимаешь, везде где я работал, был дефицит кадров. И вакансии на $5000+ открыты везде, все в поиске. Есть друзья, с которыми я работал. Как-то у меня была парочка джунов, один с юридическим образованием, другой пришёл из АТО. Через пару лет у них уже $4000 было
Да, есть невдахи, которые не умеют запускать дебаггер, и которые винду ставят. Чего мне на них ориентироваться?
Sasha Tsikhun
Andrii
а можете показать оплный код на С?
Он топорный
$ cat demo.c
#include <stdio.h>
#include <string.h>
static char sbuf[10000];
void test(char * restrict buf)
{
begin:
while(*buf == ' ') ++buf;
char * word = buf;
while(*buf != ' ' && *buf != '\0') ++buf;
int len = buf - word;
if (len < 4) {
for (int i=0; i<len; ++i) {
*word++ = ' ';
}
}
if (*buf != '\0') goto begin;
}
int main(int argc, char * argv[])
{
for (int i=1; i<argc; ++i) {
strcpy(sbuf, argv[i]);
test(sbuf);
printf("%s\n", sbuf);
}
}
Mykola
Pre-Intermediate англійської достатньо на посаді trainee/junior?
Mark
Да
Борисов
Шаман Каган
"Да, есть невдахи, которые не умеют запускать дебаггер, и которые винду ставят. "
а винда влияет как то на уровень зп?
Andrii
Борисов
Я к тому, что видно, что есть опыт на С++
Борисов
strcpy(sbuf, argv[i]); - лучше strncpy
Сергей
Платят норм, но не популярно как сегмент
Andrii
strcpy(sbuf, argv[i]); - лучше strncpy
Я знаю, просто понимаешь, мне надо было (1) написать код на Си (2) получить ассемблерный листинг типа написал на ассемблере. Поэтому и код немного приближён к ассемблерному (с goto). Ну и заморачиваться переполнением буфера мне как-то не хотелось.
Борисов
Борисов
Andrii
А если попросить оптимизировать,
gcc -S -O3 demo.c -o demo2.asm
то чуток короче
test:
jmp .L20
.L4:
addq $1, %rdi
.L20:
movzbl (%rdi), %eax
.L19:
cmpb $32, %al
je .L4
testb $-33, %al
je .L5
movq %rdi, %rdx
.L6:
movzbl 1(%rdx), %eax
addq $1, %rdx
testb $-33, %al
jne .L6
movq %rdx, %rcx
subq %rdi, %rcx
cmpl $3, %ecx
jle .L22
movq %rdx, %rdi
.L5:
testb %al, %al
jne .L19
ret
Вот, надо было получить это, типа сам написал на ассемблере :)
Andrii
Понятно, что если ты не можешь гарантировать, что результат поместится, надо добавлять длину. Но, если честно, я не понимаю M$ и её заботу про умственных инвалидов, которые сразу считают все вызовы strcpy опасными вне зависимости от контекста.
Борисов
Andrii
У них, думаю, опыт корпоративный такой)
Да, у сишной стандартной библиотеки есть один недостаток, его не придумала Microsoft... Поэтому они придумывают свои функции, которые дублируют функционал. А все стандартные считают устаревшими.
Andrii
Или открываешь файл, получаешь его размер, выделяешь в памяти фрагмент, читаешь в него и валишься, потому что число прочитанных байт меньше размера файла. WTF??? Оказывается M$ придумали, что у них переводы строки CR NL, и в целях совместимости если не указать флаг O_BINARY, то переводы строк автоматически будут заменяться на NL. Гениально :)
Kanat
Здравствуйте, люди. Хотелось бы узнать можно ли у кого-нидь выпросить совета как более структурированно и систематизированное выучить Java, ну и ресурсы какие-нидь хорошие (а то skiilbox, geekbrains всякие выскакивают, по отзывам не очень вроде, сам нашёл mooc fi по нему смотрю), что стоит прорабатывать основательнее чему уделить особое внимание. Сам язык изучаю около нескольких недель, может чуть более. Ну и книги хорошие, если можете посоветовать.
Mykola
Чому в вакансіях на інтерна пишуть про досвід? Як тоді люди потрапляють на першу роботу в IT без досвіду?