Znajomość programowania a logika programowania

10

Czy jest jakaś różnica między tymi dwoma tematami? Widziałem firm z prośbą o dobrej znajomości programowania jakiś dobry logiki programowania .

Widziałem to w profilach zadań dla programisty - np. „Dobra logika programowania”, „silna wiedza programistyczna”.

Wierzę, że wiedza na temat programowania jest związana z wiedzą na temat danego języka, a logika programowania jest logiką rozwiązywania problemów za pomocą programowania (ogólnie).
Proszę, popraw mnie jeśli się mylę. Co jest ważniejsze?

Edycja: Czy wybór komponentów do aplikacji, projektowanie interfejsów sprawdzających dane wejściowe użytkownika wchodzi w zakres wiedzy programistycznej lub logiki programowania?
Czy logika programowania oznacza po prostu rozwiązywanie problemów, czy może jest jeszcze coś, co powinna zawierać?

Shirish11
źródło
3
terminy te nie mają dobrze zdefiniowanej i powszechnie uzgodnionej semantyki. Ich „znaczenie” w dużej mierze zależy od kontekstu. „Widziałem firmy pytające” - jakie firmy? o jakie dokładnie pytali?
komara
@gnat Widziałem to w profilach Job dla programisty
Shirish11,
o jakie dokładnie pytali?
komara
@gnat np. dobra logika programowania, dobra znajomość programowania.
Shirish11,
Nie widzę żadnych postów zawierających „wiedzę programistyczną” lub „logikę programowania” na stronie careers.stackoverflow.com . Czy możesz podać linki do niektórych przykładów? Nie widząc konkretnych przykładów, sugerowałbym trzymanie się z dala od miejsc pracy, w których „dobra znajomość programowania” jest kwalifikacją. Opisy stanowisk powinny być znacznie bardziej szczegółowe. Nie trzeba dodawać, że praca pisarza lub fotografa wymagałaby „dobrej wiedzy pisarskiej” lub „dobrej fotografii”, prawda? To samo tutaj.
Caleb

Odpowiedzi:

7

Programowanie Wiedza to zrozumienie, jak używać języka programowania, jaka jest jego składnia, słowa kluczowe, użycie kodu (i rozumienie OOP, jeśli jest to język zorientowany obiektowo). Wiedzę tę można zdobyć, czytając podręczniki oraz studiując język i pojęcia.

Logika programowania to umiejętność rozwiązywania problemów i myślenia w abstrakcyjny sposób przy użyciu języka programowania. Różni się to od wiedzy programistycznej, ponieważ logikę programowania zdobywa się dzięki doświadczeniu i praktyce.

Niektórzy programiści mogą dobrze znać język programowania, ale nie mają dużego doświadczenia w rozwiązywaniu problemów z jego używaniem. Podobnie, niektórzy programiści mogą mieć dobre umiejętności logicznego rozumowania, ale mają ograniczoną znajomość języka programowania. Umiejętności zarówno w zakresie programowania, jak i logiki programowania można zdobyć, ale ta druga ma doświadczenie.

Theomax
źródło
2
Potrzebne referencje. Jak napisano, te definicje wydają się być Twoją opinią / ich zrozumieniem. Powołując się na źródło tych definicji i / lub przykłady użycia, które zgadzają się z twoimi definicjami, ta odpowiedź będzie znacznie lepsza.
Caleb
+1 dla „Różni się to od wiedzy programistycznej, ponieważ logikę programowania zdobywa się dzięki doświadczeniu i praktyce”.
Md Mahbubur Rahman,
4

Logika programowania jest zdefiniowana jako zastosowanie umiejętności matematycznych / rozwiązywania problemów podczas konkretnego problemu programistycznego. Znajomość programowania to zastosowanie określonego języka programowania, aby umożliwić programiście zastosowanie logiki programowania. Oba są ważne w procesie rozwiązywania problemu programowania.

Należy jednak położyć nacisk na umiejętności rozwiązywania problemów - logikę - umiejętność rozwiązywania złożonych problemów. Po przećwiczeniu tej umiejętności (zacznij myśleć od razu po wyjęciu z pudełka) naucz się języka programowania, aby zastosować logikę.

JLC007
źródło
... jest zdefiniowany jako ... gdzie i przez kogo? Przywołaj odniesienia do tych definicji.
Caleb
3

Brzmią dla mnie zupełnie inaczej i trudno mi było powiedzieć, który z nich jest ważniejszy.

Możesz być niesamowitym opiekunem oprogramowania, ale sam bardzo złym programistą. Niektórzy ludzie są niesamowici w debugowaniu kodu, znajdowaniu go, naprawianiu go i poprawianiu. Często porównuje się je do dozorców, ale jest to szkoda: mogą mieć prawdziwą wiedzę i know-how, aby doprowadzić rzeczy do lepszego stanu.

Ale nadal mogą być okropnie źli w pisaniu nowego kodu oraz projektowaniu i wdrażaniu algorytmów. Mogą rozumieć, dlaczego rzeczy są ogólnie lepsze w ten czy inny sposób, a nawet rozumieją po faktach zalety jednego projektu nad drugim. Ale same mają trudności z wymyśleniem jednego z nich. Brakuje im głębokiego zrozumienia tego logicznego i rozwiązywania problemów.


Oba są ważne w moim umyśle. Nie chcesz tylko hakerów, którzy potrafią wymyślić niesamowite rozwiązania, ale stworzysz niemożliwy do utrzymania kod dla następnych generacji gałek ocznych, które spojrzą na twoją bazę kodu. Może być odpowiedni do prototypowania i krótkotrwałych projektów, ale na większą skalę, która może latać tylko tak długo.

Tak więc pierwsza grupa jest również niezbędna. Ale nie byliby w stanie zaprojektować świetnego oprogramowania z drugą grupą. Jest dość symbiotyczny (i najlepiej, gdy cechy są rzeczywiście w tym samym deweloperze). Sądzę, że jeśli postrzegasz to jako problem z kurczakiem i jajami, musiałbym przyznać, że logiczny rodzaj ma większe znaczenie z powodów historycznych, ponieważ musiały one istnieć jako pierwsze, aby pójść głową. Ale czy to znaczy, że są ważniejsze w sklepie z oprogramowaniem? Nie wydaje mi się Możesz tworzyć świetne i udane oprogramowanie, łącząc rzeczy i nie wymyślając wiele.

Haylem
źródło
3

Wiedza na temat programowania - jest zdobywana poprzez czytanie i studiowanie , podczas gdy logika programowania pochodzi z doświadczenia w radzeniu sobie z różnymi sytuacjami i znajdowaniu rozwiązań dla nich.

Jusubow
źródło
1
-1, twoje definicje po prostu nie są prawdziwe. Możesz uczyć się wiedzy poprzez doświadczenie i logiki z książki.
corsiKa
Zgadzam się, możesz uczyć się na podstawie doświadczenia, ale metodologii i technik programowania można się nauczyć z dobrych książek. Jednak logika programowania jest bardziej zbliżona do doświadczenia.
Yusubov
2

Jest ogromna różnica. Logika programistyczna oznacza, że ​​należy umieć rozwiązywać problemy algorytmiczne, tworzyć ogólny, wydajny kod, a także być w stanie skutecznie rozwiązywać problemy. Wiedza programistyczna to wiedza na temat ogólnych pojęć programowania, języków / języka i technologii

karan k
źródło
Nie sądzę, że should be able to create generic, efficient codewchodzi Logic. Logika nigdy nie jest zależna od kodu, ale kod zależy od logiki.
Junaid,
0

Znajomość programowania oznacza znajomość pojęć konkretnego języka programowania, który oferuje funkcje, które mogą często rozwiązać problem.

Logika programowania oznacza zastosowanie wiedzy programistycznej do sformułowania logiki programowania, która działałaby w celu rozwiązania problemu.

Tak więc jedna dotyczy koncepcji, a druga logiki.

Chitrank Dixit
źródło
-1

Programowanie Wiedza to znajomość użycia młota i dłuta

Programowanie Logika tworzy Krzesło z Drewnianego Dziennika .. !! (za pomocą dłuta Hammer n)

tGilani
źródło