Conoscenza della programmazione vs. logica di programmazione


10

C'è qualche differenza tra i due argomenti? Ho visto aziende che chiedevano una buona conoscenza della programmazione una buona logica di programmazione .

Ho visto questo nei profili di lavoro per uno sviluppatore, ad esempio "buona logica di programmazione", "forte conoscenza della programmazione".

Credo che la conoscenza della programmazione sia correlata alla conoscenza del linguaggio in esame e che la logica di programmazione sia una logica di risoluzione dei problemi che utilizza la programmazione (in generale).
Perfavore, correggimi se sbaglio. Inoltre, cosa è più importante?

Modifica: la selezione dei componenti per l'applicazione, la progettazione di interfacce che convalidano gli input dell'utente rientrano nelle conoscenze di programmazione o nella logica di programmazione?
La logica di programmazione implica semplicemente la risoluzione dei problemi o c'è qualcos'altro che dovrebbe comprendere?


3
questi termini non hanno una semantica ben definita e concordata. Il loro "significato" dipende praticamente dal contesto. "Ho visto le aziende chiedere" - quali aziende? in quali termini esatti stavano chiedendo?
moscerino

@gnat L'ho visto in Profili di lavoro per uno sviluppatore
Shirish11

in quali termini esatti stavano chiedendo?
moscerino il

@gnat per es. buona logica di programmazione, forte conoscenza della programmazione.
Shirish11

Non vedo alcun post che includa "conoscenze di programmazione" o "logica di programmazione" su careers.stackoverflow.com . Potete fornire un link ad alcuni esempi? Senza vedere esempi specifici, suggerirei di stare lontano dai lavori in cui "una buona conoscenza della programmazione" è una qualifica. Le descrizioni delle mansioni dovrebbero essere molto più specifiche di così. Va da sé che un lavoro per uno scrittore o un fotografo richiederebbe "buona conoscenza della scrittura" o "buona conoscenza della fotografia", giusto? Stessa cosa qui.
Caleb,

Risposte:


7

Programmazione La conoscenza è la comprensione di come usare un linguaggio di programmazione, di cosa sia la sintassi, le parole chiave, l'uso del codice (e capire OOP se è un linguaggio orientato agli oggetti). Questa conoscenza può essere acquisita leggendo libri di testo e studiando la lingua e i concetti.

La logica di programmazione è la capacità di risolvere i problemi e di pensare in modo astratto quando si utilizza il linguaggio di programmazione. Ciò è diverso dalle conoscenze di programmazione perché la logica di programmazione è acquisita con esperienza e pratica.

Alcuni programmatori possono avere una buona conoscenza di un linguaggio di programmazione ma non hanno molta esperienza nella risoluzione dei problemi che lo utilizzano. Inoltre, alcuni programmatori possono avere buone capacità di ragionamento logico ma hanno una conoscenza limitata del linguaggio di programmazione. È possibile acquisire competenze sia nella conoscenza della programmazione che nella logica di programmazione, ma quest'ultima ha esperienza.


2
Riferimenti necessari. Come scritto, queste definizioni sembrano essere solo la tua opinione / comprensione di esse. Citando la fonte di queste definizioni e / o esempi di utilizzo che concordano con le tue definizioni, questa sarà una risposta molto migliore.
Caleb,

+1 per "Questo è diverso dalle conoscenze di programmazione perché la logica di programmazione è acquisita con esperienza e pratica".
Md Mahbubur Rahman,

4

La logica di programmazione è definita come l'applicazione di abilità matematiche / di risoluzione dei problemi durante un problema di programmazione specifico. La conoscenza della programmazione è l'applicazione di un linguaggio di programmazione specifico per consentire al programmatore di applicare la logica di programmazione. Entrambi sono importanti nel processo per risolvere un problema di programmazione.

L'enfasi dovrebbe essere posta sulle capacità di problem solving - la logica - per riuscire a risolvere problemi complessi. Una volta che hai esercitato questa abilità (ci vorrà un po 'di tempo per iniziare a pensare fuori dagli schemi) insegnati un linguaggio di programmazione per applicare la logica.


... è definito come ... dove e da chi? Cita i tuoi riferimenti per queste definizioni.
Caleb,

3

Sembrano molto diversi per me, e ho avuto difficoltà a dire quale è più importante.

Potresti essere un manutentore straordinario del software, ma un programmatore pessimo tu stesso. Alcune persone sono straordinarie nel debug del codice, nel trovarlo, risolverlo e migliorarlo leggermente. Sono spesso paragonati ai bidelli, ma è un disservizio: possono avere una vera conoscenza e know-how per portare le cose a uno stato migliore.

Ma possono ancora essere terribilmente cattivi nella scrittura di nuovo codice e nella progettazione e implementazione di algoritmi. Possono capire perché le cose sono generalmente migliori in un modo o nell'altro, e possono persino capire dopo il fatto i vantaggi di un disegno rispetto all'altro. Ma hanno difficoltà a trovarne uno da soli. Manca una profonda comprensione di questa mentalità logica e di risoluzione dei problemi.


Sono entrambi importanti nella mia mente. Non vuoi solo hacker in grado di escogitare soluzioni sorprendenti, ma produrre codice non mantenibile per le prossime generazioni di bulbi oculari che guarderanno la tua base di codice. Può andare bene per la prototipazione e progetti di breve durata, ma su larga scala che può volare solo per così tanto tempo.

Quindi anche il primo gruppo è essenziale. Ma non sarebbero in grado di progettare grandi software con il secondo gruppo. È abbastanza simbiotico (ed è meglio quando le qualità sono davvero nello stesso sviluppatore). Immagino che se lo vedi come un problema con pollo e uova, dovrei ammettere che il tipo logico conta un po 'di più, per ragioni storiche, poiché dovevano esistere prima di fare strada. Ma questo significa che sono più importanti in un negozio di software? Io non la penso così. Puoi produrre software di successo e di successo installando le cose insieme e non inventando molto.


3

Conoscenza della programmazione - viene acquisita attraverso la lettura e lo studio , mentre la logica di programmazione è qualcosa che viene dall'esperienza per affrontare situazioni diverse e trovare soluzioni ad esse.


1
-1, le tue definizioni semplicemente non sono vere. Puoi imparare la conoscenza attraverso l'esperienza e puoi imparare la logica da un libro.
corsiKa

D'accordo, puoi imparare dall'esperienza, ma la metodologia e le tecniche di programmazione possono essere apprese da buoni libri. Tuttavia, la logica di programmazione è più rigorosa per l'esperienza.
Yusubov,

2

C'è un'enorme differenza. La logica di programmazione significa che si dovrebbe essere in grado di risolvere i problemi algoritmici, dovrebbe essere in grado di creare un codice generico ed efficiente. Dovrebbero essere bravi a risolvere i problemi in modo efficiente. La conoscenza della programmazione è la conoscenza di concetti generali di programmazione, linguaggi / linguaggio e tecnologie


Non penso che should be able to create generic, efficient codearrivi Logic. Una logica non dipende mai dal codice ma il codice dipende da una logica.
Junaid,

0

Conoscere la programmazione significa conoscere i concetti del particolare linguaggio di programmazione che offre le funzionalità che possono comunemente risolvere il problema.

Logica di programmazione significa applicare le conoscenze di programmazione per inquadrare una logica di programmazione che funzionerebbe per risolvere il problema.

Quindi uno è interessato ai concetti e un altro alla logica.


-1

Programmazione La conoscenza è conoscere l'uso di hammer n Chisel

La logica di programmazione sta costruendo la sedia con il ceppo di legno .. !! (usando Hammer n Chisel)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.