Librarian friendly programming Dror Berger amp Meirav Livne IGELU 2014 Why do we need programming Customize our systems to our own workflows and extend their capabilities Add a functionality ID: 293732
Download Presentation The PPT/PDF document "Automatic for the personnel" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Automatic for the personnel
“Librarian friendly programming”
Dror Berger & Meirav
Livne
IGELU 2014Slide3
Why do we need programming?
Customize our systems to our own workflows and extend their capabilities
Add a functionality
Analyzing our dataSlide4
What are our available resources?
In-house development resources
Institutional computation Centre
System librarians / Computer Savvy librariansSlide5
“Librarian friendly programming”
System librarians are able to see if the logic matches their definitions
System librarians are able to suggest changes and corrections to the developers
System librarians are able to amend the code, and even create their own
programme
by copying and pasting parts of existing code lines into a new and cohesive
programme
Most importantly to our IGELU community - Code can be easily shared between libraries, and can be used by libraries who do not have sufficient programming resources.Slide6
“Librarian friendly programming”
“Regular” programming
“Librarian
friendly programming”
Inputs such as databases or Proprietary software files.
Only text inputs (SQL results, sequential files)
Cryptic variable names
Familiar variable names
Hard to understand the programme logic
Relatively easy to understand
Contains no comments or comments intended for developers
Comments for librarians
Formatted outputs (Excel, PDF)
Only text outputs (Text, HTML, XML)
Compiled
Interpreted
Computer languages such as Java
/ C
Computer languages such as Gawk
/ Python
Can be circulated and maintained only by programmers, with exact same language skills
Can be circulated and maintained without officially trained programmers
Customized UI
ALEPH job daemon jobs or Custom services interface Slide7
Thank you!
Questions?Dror Berger – dror.berger@nli.org.il
Meirav
Livne –
Meirav.livne@nli.org.ilSlide8
Input files – Sequential fileSlide9
Input files – SQL outputSlide10
Input files – Text from ExcelSlide11
Variable namesSlide12
Relatively easy to understand
Beautiful is better than uglyExplicit is better than implicitSimple is better than complex
Complex is better than complicated
Readability countsSlide13
Relatively easy to understandSlide14
Use comments that librarians can readSlide15
Human readable outputsSlide16
Human readable outputsSlide17
Human readable outputsSlide18
What is gawk
Gawk is the GNU version of the commonly available UNIX awk program, a popular stream editor.
An open source programme with a large developers community.
Last version: 4.1.1 released on 08-Apr-2014Slide19
Why use gawk?
Programs in awk are different from programs in most other languages, because
awk
programs are "data-driven": you describe the data you want to work with and then what to do when you find it. Most other languages are "procedural." You have to describe, in great detail, every step the program is to take. When working with procedural languages, it is usually much harder to clearly describe the data your program will process. For this reason,
awk
programs are often refreshingly easy to read and write.Slide20
Code maintenance