Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU...

20

Transcript of Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU...

Page 1: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.
Page 2: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Automatic for the personnel“Librarian friendly programming”

Dror Berger & Meirav LivneIGELU 2014

Page 3: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Why do we need programming?

• Customize our systems to our own workflows and extend their capabilities

• Add a functionality

• Analyzing our data

Page 4: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

What are our available resources?

• In-house development resources • Institutional computation Centre • System librarians / Computer Savvy librarians

Page 5: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

“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.

Page 6: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

“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 namesHard 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 InterpretedComputer 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

Page 8: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Input files – Sequential file

Page 9: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Input files – SQL output

Page 10: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Input files – Text from Excel

Page 11: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Variable names

Page 12: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Relatively easy to understand

•Beautiful is better than ugly•Explicit is better than implicit•Simple is better than complex•Complex is better than complicated•Readability counts

Page 13: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Relatively easy to understand

Page 14: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Use comments that librarians can read

Page 15: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Human readable outputs

Page 16: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Human readable outputs

Page 17: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Human readable outputs

Page 18: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

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-2014

Page 19: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

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.

Page 20: Automatic for the personnel “Librarian friendly programming” Dror Berger & Meirav Livne IGELU 2014.

Code maintenance